---
Fuzzer filename: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    copy_arg
      functionSourceFile: '/src/sudo/plugins/sudoers/./editor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          96
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - sudoers_gc_add
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './editor.c:99,2'
          Dst:             sudoers_gc_add
    - functionName:    wordsplit
      functionSourceFile: '/src/sudo/plugins/sudoers/./editor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          293
      EdgeCount:       78
      CyclomaticComplexity: 19
      functionsReached:
        - memchr
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './editor.c:63,17'
          Dst:             memchr
    - functionName:    memchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    resolve_editor
      functionSourceFile: '/src/sudo/plugins/sudoers/./editor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          333
      EdgeCount:       60
      CyclomaticComplexity: 15
      functionsReached:
        - __errno_location
        - copy_arg
        - find_path
        - getenv
        - reallocarray
        - strcmp
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_gc_add
        - sudoers_gc_remove
        - wordsplit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './editor.c:137,10'
          Dst:             wordsplit
        - Src:             './editor.c:140,14'
          Dst:             copy_arg
        - Src:             './editor.c:145,58'
          Dst:             getenv
        - Src:             './editor.c:145,9'
          Dst:             find_path
        - Src:             './editor.c:147,2'
          Dst:             __errno_location
        - Src:             './editor.c:152,31'
          Dst:             wordsplit
        - Src:             './editor.c:156,13'
          Dst:             reallocarray
        - Src:             './editor.c:159,5'
          Dst:             sudoers_gc_add
        - Src:             './editor.c:164,27'
          Dst:             wordsplit
        - Src:             './editor.c:166,17'
          Dst:             copy_arg
        - Src:             './editor.c:174,6'
          Dst:             strcmp
        - Src:             './editor.c:175,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './editor.c:175,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './editor.c:176,23'
          Dst:             sudo_warn_gettext_v1
        - Src:             './editor.c:176,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './editor.c:177,6'
          Dst:             __errno_location
        - Src:             './editor.c:193,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './editor.c:193,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             './editor.c:193,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './editor.c:195,5'
          Dst:             sudoers_gc_remove
        - Src:             './editor.c:200,6'
          Dst:             sudoers_gc_remove
        - Src:             './editor.c:203,2'
          Dst:             sudoers_gc_remove
    - functionName:    getenv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      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:    81
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reallocarray
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - 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:    53
      BranchProfiles:  []
      Callsites:       []
    - functionName:    find_editor
      functionSourceFile: '/src/sudo/plugins/sudoers/./editor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          210
      EdgeCount:       46
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - getenv
        - resolve_editor
        - strlen
        - sudo_strsplit_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './editor.c:234,17'
          Dst:             getenv
        - Src:             './editor.c:238,43'
          Dst:             strlen
        - Src:             './editor.c:238,20'
          Dst:             resolve_editor
        - Src:             './editor.c:242,10'
          Dst:             __errno_location
        - Src:             './editor.c:253,44'
          Dst:             strlen
        - Src:             './editor.c:257,12'
          Dst:             sudo_strsplit_v1
        - Src:             './editor.c:259,20'
          Dst:             resolve_editor
        - Src:             './editor.c:263,10'
          Dst:             __errno_location
        - Src:             './editor.c:258,23'
          Dst:             sudo_strsplit_v1
    - 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:    70
      BranchProfiles:  []
      Callsites:       []
    - functionName:    env_file_next_local
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1266
      functionLinenumberEnd: 1322
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         52
      ICount:          330
      EdgeCount:       68
      CyclomaticComplexity: 18
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - feof
        - strlen
        - strncmp
        - sudo_debug_printf2_v1
        - sudo_parseln_v2
        - sudoers_gc_add
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:1277,6'
          Dst:             sudo_parseln_v2
        - Src:             './env.c:1278,11'
          Dst:             feof
        - Src:             './env.c:1279,13'
          Dst:             __errno_location
        - Src:             './env.c:1288,6'
          Dst:             strncmp
        - Src:             './env.c:1288,40'
          Dst:             __ctype_b_loc
        - Src:             './env.c:1290,13'
          Dst:             __ctype_b_loc
        - Src:             './env.c:1301,12'
          Dst:             strlen
        - Src:             './env.c:1311,16'
          Dst:             __errno_location
        - Src:             './env.c:1312,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './env.c:1317,6'
          Dst:             sudoers_gc_add
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strncmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    110
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __ctype_b_loc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    31
      BranchProfiles:  []
      Callsites:       []
    - functionName:    env_file_close_local
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1241
      functionLinenumberEnd: 1252
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          55
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - fclose
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:1247,6'
          Dst:             fclose
    - 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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    env_file_open_local
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1223
      functionLinenumberEnd: 1236
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          65
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - calloc
        - fopen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:1227,11'
          Dst:             calloc
        - Src:             './env.c:1229,17'
          Dst:             fopen
        - Src:             './env.c:1230,10'
          Dst:             __errno_location
    - 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:    34
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    matches_env_delete
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 637
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          30
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - matches_env_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:637,5'
          Dst:             matches_env_list
    - functionName:    matches_env_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          180
      EdgeCount:       46
      CyclomaticComplexity: 9
      functionsReached:
        - matches_env_pattern
        - strncmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   './env.c:589,5'
          Branch Sides:    []
      Callsites:
        - Src:             './env.c:591,6'
          Dst:             strncmp
        - Src:             './env.c:599,6'
          Dst:             strncmp
        - Src:             './env.c:610,10'
          Dst:             matches_env_pattern
        - Src:             './env.c:614,3'
          Dst:             matches_env_pattern
        - Src:             './env.c:619,10'
          Dst:             matches_env_pattern
    - functionName:    tz_is_safe
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 646
      functionLinenumberEnd: 686
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         50
      ICount:          261
      EdgeCount:       63
      CyclomaticComplexity: 15
      functionsReached:
        - __ctype_b_loc
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:658,6'
          Dst:             strncmp
        - Src:             './env.c:673,6'
          Dst:             __ctype_b_loc
        - Src:             './env.c:673,38'
          Dst:             __ctype_b_loc
    - functionName:    matches_env_keep
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 730
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          73
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - matches_env_list
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:725,41'
          Dst:             strncmp
        - Src:             './env.c:727,16'
          Dst:             matches_env_list
    - functionName:    matches_env_check
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 695
      functionLinenumberEnd: 710
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          75
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - matches_env_list
        - strchr
        - strncmp
        - strpbrk
        - tz_is_safe
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:700,9'
          Dst:             matches_env_list
        - Src:             './env.c:701,6'
          Dst:             strncmp
        - Src:             './env.c:703,15'
          Dst:             tz_is_safe
        - Src:             './env.c:705,24'
          Dst:             strchr
        - Src:             './env.c:707,13'
          Dst:             strpbrk
    - 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:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strpbrk
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_envtables
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1402
      functionLinenumberEnd: 1443
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         47
      ICount:          222
      EdgeCount:       56
      CyclomaticComplexity: 11
      functionsReached:
        - calloc
        - strdup
        - sudo_debug_printf2_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:1409,8'
          Dst:             calloc
        - Src:             './env.c:1410,35'
          Dst:             strdup
        - Src:             './env.c:1411,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './env.c:1421,8'
          Dst:             calloc
        - Src:             './env.c:1422,35'
          Dst:             strdup
        - Src:             './env.c:1423,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './env.c:1433,8'
          Dst:             calloc
        - Src:             './env.c:1434,35'
          Dst:             strdup
        - Src:             './env.c:1435,6'
          Dst:             sudo_debug_printf2_v1
    - 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:    72
      BranchProfiles:  []
      Callsites:       []
    - functionName:    register_env_file
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1339
      functionLinenumberEnd: 1345
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          31
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_env_vars
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1219
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          245
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached:
        - env_should_delete
        - env_should_keep
        - log_warningx
        - snprintf
        - strchr
        - strcspn
        - strncmp
        - user_is_exempt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:1184,13'
          Dst:             strchr
        - Src:             './env.c:1188,33'
          Dst:             user_is_exempt
        - Src:             './env.c:1189,6'
          Dst:             strncmp
        - Src:             './env.c:1192,14'
          Dst:             env_should_keep
        - Src:             './env.c:1194,15'
          Dst:             env_should_delete
        - Src:             './env.c:1199,25'
          Dst:             strcspn
        - Src:             './env.c:1201,13'
          Dst:             snprintf
        - Src:             './env.c:1214,2'
          Dst:             log_warningx
    - functionName:    env_should_keep
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 778
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - matches_env_check
        - matches_env_keep
        - strchr
        - strncmp
        - sudo_debug_printf2_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:765,14'
          Dst:             matches_env_check
        - Src:             './env.c:767,11'
          Dst:             matches_env_keep
        - Src:             './env.c:771,12'
          Dst:             strchr
        - Src:             './env.c:772,10'
          Dst:             strncmp
        - Src:             './env.c:776,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    env_should_delete
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 739
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - matches_env_check
        - matches_env_delete
        - sudo_debug_printf2_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:744,17'
          Dst:             matches_env_delete
        - Src:             './env.c:746,14'
          Dst:             matches_env_check
        - Src:             './env.c:748,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    strcspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    insert_env_vars
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1146
      functionLinenumberEnd: 1161
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          70
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - sudo_putenv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:1155,10'
          Dst:             sudo_putenv
    - functionName:    sudo_putenv
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 442
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - bool
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_putenv_nodebug
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:431,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './env.c:433,11'
          Dst:             sudo_putenv_nodebug
    - functionName:    sudo_putenv_nodebug
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - bool
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          292
      EdgeCount:       70
      CyclomaticComplexity: 20
      functionsReached:
        - __errno_location
        - reallocarray
        - strchr
        - strncmp
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_gc_add
        - sudoers_gc_remove
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:335,2'
          Dst:             __errno_location
        - Src:             './env.c:340,13'
          Dst:             strchr
        - Src:             './env.c:342,2'
          Dst:             __errno_location
        - Src:             './env.c:352,25'
          Dst:             sudo_warn_gettext_v1
        - Src:             './env.c:352,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './env.c:354,6'
          Dst:             __errno_location
        - Src:             './env.c:359,25'
          Dst:             sudo_warn_gettext_v1
        - Src:             './env.c:359,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './env.c:361,6'
          Dst:             __errno_location
        - Src:             './env.c:364,2'
          Dst:             sudoers_gc_remove
        - Src:             './env.c:365,10'
          Dst:             reallocarray
        - Src:             './env.c:367,6'
          Dst:             sudoers_gc_add
        - Src:             './env.c:370,2'
          Dst:             sudoers_gc_add
        - Src:             './env.c:389,10'
          Dst:             strncmp
        - Src:             './env.c:399,7'
          Dst:             strncmp
    - functionName:    env_update_didvar
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 810
      functionLinenumberEnd: 845
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          151
      EdgeCount:       39
      CyclomaticComplexity: 8
      functionsReached:
        - strncmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   './env.c:811,5'
          Branch Sides:    []
      Callsites:
        - Src:             './env.c:813,10'
          Dst:             strncmp
        - Src:             './env.c:821,10'
          Dst:             strncmp
        - Src:             './env.c:825,10'
          Dst:             strncmp
        - Src:             './env.c:829,10'
          Dst:             strncmp
        - Src:             './env.c:833,10'
          Dst:             strncmp
        - Src:             './env.c:837,10'
          Dst:             strncmp
        - Src:             './env.c:841,10'
          Dst:             strncmp
    - functionName:    read_env_file
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1350
      functionLinenumberEnd: 1398
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          182
      EdgeCount:       46
      CyclomaticComplexity: 12
      functionsReached:
        - env_should_delete
        - env_should_keep
        - sudo_putenv
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:1384,27'
          Dst:             env_should_keep
        - Src:             './env.c:1384,58'
          Dst:             env_should_delete
        - Src:             './env.c:1389,6'
          Dst:             sudo_putenv
    - functionName:    rebuild_env
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 1137
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         247
      ICount:          1073
      EdgeCount:       321
      CyclomaticComplexity: 76
      functionsReached:
        - asprintf
        - env_should_delete
        - env_should_keep
        - env_update_didvar
        - read_env_file
        - reallocarray
        - snprintf
        - strncmp
        - sudo_debug_printf2_v1
        - sudo_getenv
        - sudo_putenv
        - sudo_setenv2
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudoers_gc_add
        - sudoers_gc_remove
        - user_is_exempt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:882,5'
          Dst:             sudoers_gc_remove
        - Src:             './env.c:885,16'
          Dst:             reallocarray
        - Src:             './env.c:887,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './env.c:892,5'
          Dst:             sudoers_gc_add
        - Src:             './env.c:928,11'
          Dst:             read_env_file
        - Src:             './env.c:929,3'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './env.c:932,3'
          Dst:             env_update_didvar
        - Src:             './env.c:943,12'
          Dst:             env_should_keep
        - Src:             './env.c:949,7'
          Dst:             strncmp
        - Src:             './env.c:954,7'
          Dst:             sudo_putenv
        - Src:             './env.c:955,7'
          Dst:             env_update_didvar
        - Src:             './env.c:967,6'
          Dst:             sudo_setenv2
        - Src:             './env.c:974,6'
          Dst:             sudo_setenv2
        - Src:             './env.c:976,6'
          Dst:             sudo_setenv2
        - Src:             './env.c:986,7'
          Dst:             sudo_setenv2
        - Src:             './env.c:988,7'
          Dst:             sudo_setenv2
        - Src:             './env.c:1005,9'
          Dst:             asprintf
        - Src:             './env.c:1010,10'
          Dst:             sudo_putenv
        - Src:             './env.c:1014,6'
          Dst:             sudoers_gc_add
        - Src:             './env.c:1024,8'
          Dst:             env_should_delete
        - Src:             './env.c:1025,11'
          Dst:             strncmp
        - Src:             './env.c:1027,16'
          Dst:             strncmp
        - Src:             './env.c:1029,16'
          Dst:             strncmp
        - Src:             './env.c:1031,16'
          Dst:             strncmp
        - Src:             './env.c:1033,7'
          Dst:             sudo_putenv
        - Src:             './env.c:1039,29'
          Dst:             user_is_exempt
        - Src:             './env.c:1040,2'
          Dst:             sudo_setenv2
        - Src:             './env.c:1055,6'
          Dst:             sudo_setenv2
        - Src:             './env.c:1056,6'
          Dst:             sudo_setenv2
        - Src:             './env.c:1064,8'
          Dst:             sudo_getenv
        - Src:             './env.c:1070,8'
          Dst:             sudo_getenv
        - Src:             './env.c:1079,7'
          Dst:             sudo_setenv2
        - Src:             './env.c:1081,7'
          Dst:             sudo_setenv2
        - Src:             './env.c:1088,2'
          Dst:             sudo_setenv2
        - Src:             './env.c:1092,2'
          Dst:             sudo_setenv2
        - Src:             './env.c:1094,2'
          Dst:             sudo_putenv
        - Src:             './env.c:1096,2'
          Dst:             sudo_setenv2
        - Src:             './env.c:1100,2'
          Dst:             sudo_putenv
        - Src:             './env.c:1109,8'
          Dst:             asprintf
        - Src:             './env.c:1113,6'
          Dst:             sudo_putenv
        - Src:             './env.c:1117,2'
          Dst:             sudoers_gc_add
        - Src:             './env.c:1119,2'
          Dst:             sudo_setenv2
        - Src:             './env.c:1123,5'
          Dst:             sudo_setenv2
        - Src:             './env.c:1124,11'
          Dst:             snprintf
        - Src:             './env.c:1125,5'
          Dst:             sudo_setenv2
        - Src:             './env.c:1126,11'
          Dst:             snprintf
        - Src:             './env.c:1127,5'
          Dst:             sudo_setenv2
        - Src:             './env.c:1128,5'
          Dst:             sudo_setenv2
        - Src:             './env.c:1130,2'
          Dst:             sudo_setenv2
        - Src:             './env.c:1135,21'
          Dst:             sudo_warn_gettext_v1
        - Src:             './env.c:1135,5'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    sudo_setenv2
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          139
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - strlen
        - sudo_debug_printf2_v1
        - sudo_putenv
        - sudo_strlcat
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_gc_add
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:458,13'
          Dst:             strlen
        - Src:             './env.c:458,31'
          Dst:             strlen
        - Src:             './env.c:460,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './env.c:466,9'
          Dst:             sudo_strlcpy
        - Src:             './env.c:467,2'
          Dst:             sudo_strlcat
        - Src:             './env.c:468,2'
          Dst:             sudo_strlcat
        - Src:             './env.c:470,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './env.c:470,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './env.c:471,2'
          Dst:             __errno_location
        - Src:             './env.c:473,8'
          Dst:             sudo_putenv
        - Src:             './env.c:478,2'
          Dst:             sudoers_gc_add
    - 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:    19
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_getenv
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 575
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          34
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_getenv_nodebug
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:571,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './env.c:573,11'
          Dst:             sudo_getenv_nodebug
    - functionName:    sudo_getenv_nodebug
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 544
      functionLinenumberEnd: 559
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          116
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:553,10'
          Dst:             strncmp
    - functionName:    sudo_unsetenv
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 527
      functionLinenumberEnd: 535
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          34
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_unsetenv_nodebug
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:531,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './env.c:533,11'
          Dst:             sudo_unsetenv_nodebug
    - functionName:    sudo_unsetenv_nodebug
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          124
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - strchr
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:501,54'
          Dst:             strchr
        - Src:             './env.c:502,2'
          Dst:             __errno_location
        - Src:             './env.c:506,11'
          Dst:             strlen
        - Src:             './env.c:508,6'
          Dst:             strncmp
    - functionName:    sudo_setenv
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 488
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_setenv2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:488,12'
          Dst:             sudo_setenv2
    - functionName:    env_swap_old
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 317
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    env_get
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    env_init
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          119
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - reallocarray
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_gc_add
        - sudoers_gc_remove
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:252,2'
          Dst:             sudoers_gc_remove
        - Src:             './env.c:271,13'
          Dst:             reallocarray
        - Src:             './env.c:275,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './env.c:275,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './env.c:275,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './env.c:278,2'
          Dst:             sudoers_gc_add
        - Src:             './env.c:286,2'
          Dst:             sudoers_gc_remove
    - functionName:    env_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./env.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudoers_gc_remove
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './env.c:233,5'
          Dst:             sudoers_gc_remove
        - Src:             './env.c:235,5'
          Dst:             sudoers_gc_remove
    - functionName:    matches_env_pattern
      functionSourceFile: '/src/sudo/plugins/sudoers/./env_pattern.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          341
      EdgeCount:       87
      CyclomaticComplexity: 23
      functionsReached:
        - strcspn
        - strncmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './env_pattern.c:38,15'
          Dst:             strcspn
        - Src:             './env_pattern.c:51,6'
          Dst:             strncmp
        - Src:             './env_pattern.c:80,6'
          Dst:             strncmp
    - functionName:    sudo_file_getdefs
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 642
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          117
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - set_default
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:644,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:645,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:646,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:647,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:648,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:649,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:650,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:651,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:652,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:653,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:654,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:655,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:656,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:657,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:658,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:659,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:660,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:661,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:662,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:663,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:664,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:665,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:666,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:667,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:668,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:669,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:670,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:671,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:672,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:673,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:674,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:675,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:676,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:677,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:678,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:679,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:680,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:681,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:682,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:683,5'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:685,2'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:686,2'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:687,2'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:688,2'
          Dst:             set_default
        - Src:             './regress/fuzz/fuzz_policy.c:689,2'
          Dst:             set_default
    - functionName:    sudo_file_query
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 636
      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:    sudo_file_parse
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 625
      functionLinenumberEnd: 628
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_file_close
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 619
      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:    sudo_file_open
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 612
      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:    free_strvec
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    bsdauth_set_style
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 938
      functionLinenumberEnd: 939
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_timestampowner
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 932
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_group_plugin
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 924
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_iolog_mode
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 915
      functionLinenumberEnd: 916
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_iolog_group
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 907
      functionLinenumberEnd: 908
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_iolog_user
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 899
      functionLinenumberEnd: 900
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_maxseq
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 891
      functionLinenumberEnd: 892
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iolog_nextid
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 882
      functionLinenumberEnd: 884
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_strlcpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:883,5'
          Dst:             sudo_strlcpy
    - functionName:    expand_iolog_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 875
      functionLinenumberEnd: 876
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_strlcpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:876,12'
          Dst:             sudo_strlcpy
    - functionName:    resolve_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 868
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - find_path
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:868,12'
          Dst:             find_path
    - functionName:    find_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 844
      functionLinenumberEnd: 861
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          88
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - asprintf
        - strdup
      functionUses:    2
      BranchProfiles:
        - Branch String:   './regress/fuzz/fuzz_policy.c:845,5'
          Branch Sides:    []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:852,17'
          Dst:             strdup
        - Src:             './regress/fuzz/fuzz_policy.c:854,10'
          Dst:             asprintf
    - functionName:    display_privs
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 835
      functionLinenumberEnd: 836
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    display_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 827
      functionLinenumberEnd: 828
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_lookup
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 819
      functionLinenumberEnd: 820
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    audit_failure
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 810
      functionLinenumberEnd: 811
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_parse_error
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 802
      functionLinenumberEnd: 803
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mail_parse_errors
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 795
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_exit_status
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 787
      functionLinenumberEnd: 788
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_failure
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 781
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_denial
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 773
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gai_log_warning
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 765
      functionLinenumberEnd: 766
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_warningx
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 757
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_warning
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 749
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    group_plugin_unload
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 742
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_user_runcwd
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 735
      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:    check_user_runchroot
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 727
      functionLinenumberEnd: 728
      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:    check_user
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 721
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_read_nss
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 707
      functionLinenumberEnd: 713
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          23
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    create_admin_success_flag
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 605
      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:    timestamp_remove
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_auth_needs_end_session
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_auth_end_session
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_auth_begin_session
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 577
      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:    dump_auth_methods
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 568
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dump_interfaces
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 561
      functionLinenumberEnd: 562
      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:    set_interfaces
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    user_is_exempt
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 548
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_dynamic_array
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - free_strvec
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:111,2'
          Dst:             free_strvec
    - functionName:    fuzz_printf
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzz_hook_stub
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 178
      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:    push
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          123
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - reallocarray
        - strdup
      functionUses:    25
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:123,14'
          Dst:             strdup
        - Src:             './regress/fuzz/fuzz_policy.c:128,15'
          Dst:             reallocarray
    - functionName:    fuzz_conversation
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './regress/fuzz/fuzz_policy.c:152,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    open_data
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fmemopen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:68,12'
          Dst:             fmemopen
    - functionName:    fmemopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     externalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         94
      ICount:          663
      EdgeCount:       126
      CyclomaticComplexity: 34
      functionsReached:
        - fclose
        - fflush
        - free_dynamic_array
        - fuzz_conversation
        - fuzz_hook_stub
        - fuzz_printf
        - getdelim
        - getenv
        - initprogname
        - open_data
        - push
        - putenv
        - strchr
        - strncmp
        - sudo_getprogname
        - sudo_warn_set_conversation_v1
        - sudoers_cleanup
        - sudoers_debug_deregister
        - sudoers_debug_register
      functionUses:    0
      BranchProfiles:
        - Branch String:   './regress/fuzz/fuzz_policy.c:435,6'
          Branch Sides:    []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:295,10'
          Dst:             open_data
        - Src:             './regress/fuzz/fuzz_policy.c:299,5'
          Dst:             initprogname
        - Src:             './regress/fuzz/fuzz_policy.c:300,28'
          Dst:             sudo_getprogname
        - Src:             './regress/fuzz/fuzz_policy.c:300,5'
          Dst:             sudoers_debug_register
        - Src:             './regress/fuzz/fuzz_policy.c:301,9'
          Dst:             getenv
        - Src:             './regress/fuzz/fuzz_policy.c:302,2'
          Dst:             sudo_warn_set_conversation_v1
        - Src:             './regress/fuzz/fuzz_policy.c:302,2'
          Dst:             fuzz_conversation
        - Src:             './regress/fuzz/fuzz_policy.c:305,5'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:306,5'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:309,23'
          Dst:             getdelim
        - Src:             './regress/fuzz/fuzz_policy.c:318,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:319,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:322,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:323,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:326,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:327,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:330,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:331,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:334,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:335,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:338,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:339,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:342,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:343,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:348,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:349,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:352,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:353,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:356,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:357,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:360,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:361,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:364,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:365,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:368,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:369,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:372,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:373,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:376,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:377,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:380,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:381,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:384,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:385,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:388,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:389,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:392,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:393,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:398,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:399,6'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:404,6'
          Dst:             strncmp
        - Src:             './regress/fuzz/fuzz_policy.c:406,10'
          Dst:             strchr
        - Src:             './regress/fuzz/fuzz_policy.c:407,3'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:412,2'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:414,5'
          Dst:             fclose
        - Src:             './regress/fuzz/fuzz_policy.c:419,5'
          Dst:             putenv
        - Src:             './regress/fuzz/fuzz_policy.c:420,5'
          Dst:             putenv
        - Src:             './regress/fuzz/fuzz_policy.c:422,5'
          Dst:             fuzz_hook_stub
        - Src:             './regress/fuzz/fuzz_policy.c:426,8'
          Dst:             fuzz_conversation
        - Src:             './regress/fuzz/fuzz_policy.c:426,8'
          Dst:             fuzz_printf
        - Src:             './regress/fuzz/fuzz_policy.c:432,3'
          Dst:             push
        - Src:             './regress/fuzz/fuzz_policy.c:526,6'
          Dst:             sudoers_cleanup
        - Src:             './regress/fuzz/fuzz_policy.c:529,5'
          Dst:             fuzz_hook_stub
        - Src:             './regress/fuzz/fuzz_policy.c:531,5'
          Dst:             free_dynamic_array
        - Src:             './regress/fuzz/fuzz_policy.c:532,5'
          Dst:             free_dynamic_array
        - Src:             './regress/fuzz/fuzz_policy.c:533,5'
          Dst:             free_dynamic_array
        - Src:             './regress/fuzz/fuzz_policy.c:534,5'
          Dst:             free_dynamic_array
        - Src:             './regress/fuzz/fuzz_policy.c:535,5'
          Dst:             free_dynamic_array
        - Src:             './regress/fuzz/fuzz_policy.c:537,5'
          Dst:             sudoers_debug_deregister
        - Src:             './regress/fuzz/fuzz_policy.c:539,5'
          Dst:             fflush
    - functionName:    getdelim
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    putenv
      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:    fflush
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freeaddrinfo
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getaddrinfo
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          179
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - calloc
        - getservbyname
        - htons
        - inet_pton
        - strdup
        - sudo_strtonum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_policy.c:214,9'
          Dst:             sudo_strtonum
        - Src:             './regress/fuzz/fuzz_policy.c:215,24'
          Dst:             __errno_location
        - Src:             './regress/fuzz/fuzz_policy.c:219,12'
          Dst:             getservbyname
        - Src:             './regress/fuzz/fuzz_policy.c:222,9'
          Dst:             htons
        - Src:             './regress/fuzz/fuzz_policy.c:226,10'
          Dst:             calloc
        - Src:             './regress/fuzz/fuzz_policy.c:229,24'
          Dst:             strdup
        - Src:             './regress/fuzz/fuzz_policy.c:238,5'
          Dst:             inet_pton
        - Src:             './regress/fuzz/fuzz_policy.c:241,53'
          Dst:             htons
    - 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:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    inet_pton
      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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_nss_can_continue
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rewind_perms
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restore_perms
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_perms
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    group_plugin_query
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 63
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_eventlog_config
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_interfaces
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_gc_run
      functionSourceFile: '/src/sudo/plugins/sudoers/./gc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          90
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './gc.c:131,2'
          Branch Sides:    []
      Callsites:
        - Src:             './gc.c:143,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    sudoers_gc_remove
      functionSourceFile: '/src/sudo/plugins/sudoers/./gc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          154
      EdgeCount:       33
      CyclomaticComplexity: 5
      functionsReached:
        - abort
        - sudo_warnx_nodebug_v1
      functionUses:    12
      BranchProfiles:
        - Branch String:   './gc.c:86,2'
          Branch Sides:    []
      Callsites:
        - Src:             './gc.c:96,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './gc.c:101,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './gc.c:103,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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_gc_add
      functionSourceFile: '/src/sudo/plugins/sudoers/./gc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          124
      EdgeCount:       24
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    16
      BranchProfiles:
        - Branch String:   './gc.c:55,5'
          Branch Sides:    []
      Callsites:
        - Src:             './gc.c:50,10'
          Dst:             calloc
        - Src:             './gc.c:52,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './gc.c:52,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './gc.c:52,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './gc.c:64,2'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    sudoers_locale_callback
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          67
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - setlocale
        - sudoers_initlocale
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './locale.c:145,9'
          Dst:             sudoers_initlocale
        - Src:             './locale.c:146,6'
          Dst:             setlocale
    - functionName:    sudoers_initlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          95
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - strdup
        - sudo_debug_printf2_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './locale.c:59,21'
          Dst:             strdup
        - Src:             './locale.c:64,24'
          Dst:             strdup
        - Src:             './locale.c:67,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    setlocale
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_warn_setlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudoers_setlocale
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './locale.c:132,2'
          Dst:             sudoers_setlocale
        - Src:             './locale.c:133,5'
          Dst:             sudoers_setlocale
    - functionName:    sudoers_setlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          241
      EdgeCount:       70
      CyclomaticComplexity: 17
      functionsReached:
        - setlocale
        - strcmp
        - strdup
        - sudo_debug_printf2_v1
      functionUses:    12
      BranchProfiles:
        - Branch String:   './locale.c:84,5'
          Branch Sides:    []
      Callsites:
        - Src:             './locale.c:90,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './locale.c:93,9'
          Dst:             setlocale
        - Src:             './locale.c:95,21'
          Dst:             setlocale
        - Src:             './locale.c:97,18'
          Dst:             strdup
        - Src:             './locale.c:108,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './locale.c:111,9'
          Dst:             setlocale
        - Src:             './locale.c:113,11'
          Dst:             strcmp
        - Src:             './locale.c:115,21'
          Dst:             strdup
        - Src:             './locale.c:117,14'
          Dst:             setlocale
    - functionName:    sudoers_getlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_policy_deregister_hooks
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1387
      functionLinenumberEnd: 1398
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          64
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1393,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1392,6'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    sudoers_policy_register_hooks
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1369
      functionLinenumberEnd: 1380
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          64
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1375,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1374,6'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    sudoers_policy_init_session
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1192
      functionLinenumberEnd: 1210
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          85
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - sudo_auth_begin_session
        - sudoers_get_context
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1193,41'
          Dst:             sudoers_get_context
        - Src:             './policy.c:1201,11'
          Dst:             sudo_auth_begin_session
    - functionName:    sudoers_policy_invalidate
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1282
      functionLinenumberEnd: 1294
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_get_context
        - sudoers_set_mode
        - timestamp_remove
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1283,41'
          Dst:             sudoers_get_context
        - Src:             './policy.c:1286,10'
          Dst:             sudoers_set_mode
        - Src:             './policy.c:1287,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1287,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:1290,2'
          Dst:             timestamp_remove
    - functionName:    sudoers_policy_validate
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1259
      functionLinenumberEnd: 1278
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          87
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_get_context
        - sudoers_set_mode
        - sudoers_validate_user
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1260,41'
          Dst:             sudoers_get_context
        - Src:             './policy.c:1264,10'
          Dst:             sudoers_set_mode
        - Src:             './policy.c:1265,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1265,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:1270,11'
          Dst:             sudoers_validate_user
    - functionName:    sudoers_policy_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1299
      functionLinenumberEnd: 1318
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          104
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_get_context
        - sudoers_list
        - sudoers_set_mode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1300,41'
          Dst:             sudoers_get_context
        - Src:             './policy.c:1304,10'
          Dst:             sudoers_set_mode
        - Src:             './policy.c:1305,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1305,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:1310,11'
          Dst:             sudoers_list
    - functionName:    sudoers_policy_check
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1217
      functionLinenumberEnd: 1255
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          136
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_check_cmnd
        - sudoers_get_context
        - sudoers_set_mode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1218,41'
          Dst:             sudoers_get_context
        - Src:             './policy.c:1229,10'
          Dst:             sudoers_set_mode
        - Src:             './policy.c:1230,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1230,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:1239,11'
          Dst:             sudoers_check_cmnd
    - functionName:    sudoers_policy_version
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1322
      functionLinenumberEnd: 1352
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          72
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - dgettext
        - dump_auth_methods
        - dump_defaults
        - dump_interfaces
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1328,37'
          Dst:             dgettext
        - Src:             './policy.c:1330,37'
          Dst:             dgettext
        - Src:             './policy.c:1334,34'
          Dst:             dgettext
        - Src:             './policy.c:1344,2'
          Dst:             dump_auth_methods
        - Src:             './policy.c:1345,2'
          Dst:             dump_defaults
        - Src:             './policy.c:1348,6'
          Dst:             dump_interfaces
    - 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:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_policy_close
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1151
      functionLinenumberEnd: 1182
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - log_exit_status
        - sudo_auth_end_session
        - sudo_fatal_callback_deregister_v1
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudoers_cleanup
        - sudoers_debug_deregister
        - sudoers_get_context
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1152,41'
          Dst:             sudoers_get_context
        - Src:             './policy.c:1157,8'
          Dst:             sudo_auth_end_session
        - Src:             './policy.c:1160,6'
          Dst:             __errno_location
        - Src:             './policy.c:1161,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1161,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './policy.c:1163,6'
          Dst:             log_exit_status
        - Src:             './policy.c:1168,5'
          Dst:             sudo_fatal_callback_deregister_v1
        - Src:             './policy.c:1168,5'
          Dst:             sudoers_cleanup
        - Src:             './policy.c:1171,5'
          Dst:             sudoers_cleanup
        - Src:             './policy.c:1181,5'
          Dst:             sudoers_debug_deregister
    - functionName:    sudoers_policy_open
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1100
      functionLinenumberEnd: 1147
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          206
      EdgeCount:       47
      CyclomaticComplexity: 12
      functionsReached:
        - log_parse_error
        - strncmp
        - sudoers_debug_parse_flags
        - sudoers_debug_register
        - sudoers_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1120,6'
          Dst:             strncmp
        - Src:             './policy.c:1122,11'
          Dst:             sudoers_debug_parse_flags
        - Src:             './policy.c:1126,6'
          Dst:             strncmp
        - Src:             './policy.c:1131,10'
          Dst:             sudoers_debug_register
        - Src:             './policy.c:1138,11'
          Dst:             sudoers_init
        - Src:             './policy.c:1138,11'
          Dst:             log_parse_error
    - functionName:    sudoers_tty_present
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1082
      functionLinenumberEnd: 1093
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          74
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:1087,11'
          Dst:             open
        - Src:             './policy.c:1090,2'
          Dst:             close
    - 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:    8
      BranchProfiles:  []
      Callsites:       []
    - 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:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_policy_store_result
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 666
      functionLinenumberEnd: 1078
      functionDepth:   0
      returnType:      bool
      argCount:        7
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         420
      ICount:          2460
      EdgeCount:       584
      CyclomaticComplexity: 166
      functionsReached:
        - asprintf
        - calloc
        - close
        - expand_tilde
        - serialize_list
        - snprintf
        - strcmp
        - strdup
        - sudo_get_gidlist
        - sudo_gettime_awake_v1
        - sudo_gidlist_delref
        - sudo_new_key_val_v1
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
        - sudoers_gc_add
        - sudoers_gc_remove
        - sudoers_override_umask
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:677,2'
          Dst:             sudoers_gc_remove
        - Src:             './policy.c:684,20'
          Dst:             calloc
        - Src:             './policy.c:689,27'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:694,34'
          Dst:             strdup
        - Src:             './policy.c:701,38'
          Dst:             strdup
        - Src:             './policy.c:705,38'
          Dst:             strdup
        - Src:             './policy.c:709,38'
          Dst:             strdup
        - Src:             './policy.c:713,38'
          Dst:             strdup
        - Src:             './policy.c:717,38'
          Dst:             strdup
        - Src:             './policy.c:721,38'
          Dst:             strdup
        - Src:             './policy.c:725,38'
          Dst:             strdup
        - Src:             './policy.c:728,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:733,3'
          Dst:             serialize_list
        - Src:             './policy.c:739,38'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:744,34'
          Dst:             strdup
        - Src:             './policy.c:747,10'
          Dst:             asprintf
        - Src:             './policy.c:752,38'
          Dst:             strdup
        - Src:             './policy.c:756,38'
          Dst:             strdup
        - Src:             './policy.c:760,23'
          Dst:             strcmp
        - Src:             './policy.c:762,7'
          Dst:             expand_tilde
        - Src:             './policy.c:763,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:763,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:766,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:770,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:772,34'
          Dst:             strdup
        - Src:             './policy.c:775,37'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:778,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:782,6'
          Dst:             asprintf
        - Src:             './policy.c:785,6'
          Dst:             asprintf
        - Src:             './policy.c:788,6'
          Dst:             asprintf
        - Src:             './policy.c:791,6'
          Dst:             asprintf
        - Src:             './policy.c:796,6'
          Dst:             asprintf
        - Src:             './policy.c:799,6'
          Dst:             asprintf
        - Src:             './policy.c:805,34'
          Dst:             strdup
        - Src:             './policy.c:815,12'
          Dst:             sudo_get_gidlist
        - Src:             './policy.c:822,6'
          Dst:             sudo_gidlist_delref
        - Src:             './policy.c:832,8'
          Dst:             snprintf
        - Src:             './policy.c:834,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:834,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:836,6'
          Dst:             sudo_gidlist_delref
        - Src:             './policy.c:843,9'
          Dst:             snprintf
        - Src:             './policy.c:846,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:846,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:848,7'
          Dst:             sudo_gidlist_delref
        - Src:             './policy.c:856,2'
          Dst:             sudo_gidlist_delref
        - Src:             './policy.c:859,6'
          Dst:             asprintf
        - Src:             './policy.c:863,34'
          Dst:             strdup
        - Src:             './policy.c:867,34'
          Dst:             strdup
        - Src:             './policy.c:871,34'
          Dst:             strdup
        - Src:             './policy.c:875,34'
          Dst:             strdup
        - Src:             './policy.c:879,34'
          Dst:             strdup
        - Src:             './policy.c:883,34'
          Dst:             strdup
        - Src:             './policy.c:887,34'
          Dst:             strdup
        - Src:             './policy.c:891,34'
          Dst:             strdup
        - Src:             './policy.c:895,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:899,6'
          Dst:             asprintf
        - Src:             './policy.c:903,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:907,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:911,22'
          Dst:             serialize_list
        - Src:             './policy.c:916,6'
          Dst:             asprintf
        - Src:             './policy.c:920,37'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:924,37'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:929,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:933,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:937,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:945,6'
          Dst:             asprintf
        - Src:             './policy.c:948,34'
          Dst:             strcmp
        - Src:             './policy.c:949,7'
          Dst:             expand_tilde
        - Src:             './policy.c:950,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:950,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:953,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:957,6'
          Dst:             asprintf
        - Src:             './policy.c:960,9'
          Dst:             sudoers_override_umask
        - Src:             './policy.c:961,34'
          Dst:             strdup
        - Src:             './policy.c:967,6'
          Dst:             close
        - Src:             './policy.c:970,10'
          Dst:             asprintf
        - Src:             './policy.c:975,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:979,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:983,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:987,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:991,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:995,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:999,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1003,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1007,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1011,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1015,41'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1019,27'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1030,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1034,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1038,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1042,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1046,34'
          Dst:             sudo_new_key_val_v1
        - Src:             './policy.c:1052,6'
          Dst:             sudo_gettime_awake_v1
        - Src:             './policy.c:1053,22'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1053,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './policy.c:1064,5'
          Dst:             sudoers_gc_add
        - Src:             './policy.c:1069,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1069,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:1069,5'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    parse_bool
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          89
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - sudo_strtobool_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    13
      BranchProfiles:
        - Branch String:   './policy.c:65,5'
          Branch Sides:    []
      Callsites:
        - Src:             './policy.c:65,13'
          Dst:             sudo_strtobool_v1
        - Src:             './policy.c:73,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:73,2'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    sudoers_policy_deserialize_info
      functionSourceFile: '/src/sudo/plugins/sudoers/./policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 655
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         383
      ICount:          2271
      EdgeCount:       523
      CyclomaticComplexity: 142
      functionsReached:
        - __errno_location
        - append_default
        - parse_bool
        - parse_timeout
        - set_interfaces
        - stat
        - strdup
        - strlen
        - strncmp
        - sudo_debug_printf2_v1
        - sudo_getpwnam
        - sudo_parse_gids_v1
        - sudo_pwutil_set_max_groups
        - sudo_set_gidlist
        - sudo_strtobool_v1
        - sudo_strtoid_v2
        - sudo_strtomode_v2
        - sudo_strtonum
        - sudo_uuid_create_v1
        - sudo_uuid_to_string_v1
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
        - sudoers_sethost
        - umask
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './policy.c:120,10'
          Dst:             strncmp
        - Src:             './policy.c:121,13'
          Dst:             sudo_strtobool_v1
        - Src:             './policy.c:123,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:123,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:129,10'
          Dst:             strncmp
        - Src:             './policy.c:130,13'
          Dst:             sudo_strtobool_v1
        - Src:             './policy.c:132,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:132,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:138,10'
          Dst:             strncmp
        - Src:             './policy.c:139,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:139,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:143,10'
          Dst:             strncmp
        - Src:             './policy.c:145,41'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:147,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:147,38'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:147,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:152,10'
          Dst:             strncmp
        - Src:             './policy.c:154,41'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:156,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:156,38'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:156,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:161,10'
          Dst:             strncmp
        - Src:             './policy.c:163,35'
          Dst:             sudo_strtomode_v2
        - Src:             './policy.c:165,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:165,38'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:165,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:170,10'
          Dst:             strncmp
        - Src:             './policy.c:171,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:171,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:175,10'
          Dst:             strncmp
        - Src:             './policy.c:176,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:176,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:190,6'
          Dst:             strncmp
        - Src:             './policy.c:192,33'
          Dst:             sudo_strtonum
        - Src:             './policy.c:194,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:194,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:194,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:199,6'
          Dst:             strncmp
        - Src:             './policy.c:200,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:200,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:202,10'
          Dst:             strlen
        - Src:             './policy.c:203,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:203,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:208,6'
          Dst:             strncmp
        - Src:             './policy.c:209,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:209,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:211,10'
          Dst:             strlen
        - Src:             './policy.c:212,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:212,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:217,6'
          Dst:             strncmp
        - Src:             './policy.c:218,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:218,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:223,6'
          Dst:             strncmp
        - Src:             './policy.c:224,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:224,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:229,6'
          Dst:             strncmp
        - Src:             './policy.c:232,11'
          Dst:             append_default
        - Src:             './policy.c:236,6'
          Dst:             strncmp
        - Src:             './policy.c:237,10'
          Dst:             parse_bool
        - Src:             './policy.c:242,6'
          Dst:             strncmp
        - Src:             './policy.c:243,10'
          Dst:             parse_bool
        - Src:             './policy.c:248,6'
          Dst:             strncmp
        - Src:             './policy.c:249,10'
          Dst:             parse_bool
        - Src:             './policy.c:254,6'
          Dst:             strncmp
        - Src:             './policy.c:255,10'
          Dst:             parse_bool
        - Src:             './policy.c:260,6'
          Dst:             strncmp
        - Src:             './policy.c:261,10'
          Dst:             parse_bool
        - Src:             './policy.c:266,6'
          Dst:             strncmp
        - Src:             './policy.c:267,10'
          Dst:             parse_bool
        - Src:             './policy.c:272,6'
          Dst:             strncmp
        - Src:             './policy.c:273,10'
          Dst:             parse_bool
        - Src:             './policy.c:278,6'
          Dst:             strncmp
        - Src:             './policy.c:279,10'
          Dst:             parse_bool
        - Src:             './policy.c:284,6'
          Dst:             strncmp
        - Src:             './policy.c:285,10'
          Dst:             parse_bool
        - Src:             './policy.c:290,6'
          Dst:             strncmp
        - Src:             './policy.c:291,10'
          Dst:             parse_bool
        - Src:             './policy.c:296,6'
          Dst:             strncmp
        - Src:             './policy.c:297,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:297,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:299,11'
          Dst:             append_default
        - Src:             './policy.c:303,6'
          Dst:             strncmp
        - Src:             './policy.c:304,10'
          Dst:             parse_bool
        - Src:             './policy.c:309,6'
          Dst:             strncmp
        - Src:             './policy.c:310,10'
          Dst:             parse_bool
        - Src:             './policy.c:315,6'
          Dst:             strncmp
        - Src:             './policy.c:316,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:316,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:318,24'
          Dst:             strdup
        - Src:             './policy.c:323,6'
          Dst:             strncmp
        - Src:             './policy.c:324,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:324,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:326,24'
          Dst:             strdup
        - Src:             './policy.c:339,6'
          Dst:             strncmp
        - Src:             './policy.c:341,11'
          Dst:             set_interfaces
        - Src:             './policy.c:342,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:342,3'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './policy.c:347,6'
          Dst:             strncmp
        - Src:             './policy.c:350,24'
          Dst:             sudo_strtonum
        - Src:             './policy.c:352,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:352,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:352,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:355,6'
          Dst:             sudo_pwutil_set_max_groups
        - Src:             './policy.c:358,6'
          Dst:             strncmp
        - Src:             './policy.c:359,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:359,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:363,6'
          Dst:             strncmp
        - Src:             './policy.c:365,26'
          Dst:             parse_timeout
        - Src:             './policy.c:367,7'
          Dst:             __errno_location
        - Src:             './policy.c:368,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:368,35'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:368,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:370,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:370,35'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:370,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:375,6'
          Dst:             strncmp
        - Src:             './policy.c:376,10'
          Dst:             parse_bool
        - Src:             './policy.c:398,6'
          Dst:             strncmp
        - Src:             './policy.c:399,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:399,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:401,28'
          Dst:             strdup
        - Src:             './policy.c:405,6'
          Dst:             strncmp
        - Src:             './policy.c:407,31'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:409,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:409,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:409,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:414,6'
          Dst:             strncmp
        - Src:             './policy.c:416,30'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:418,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:418,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:418,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:423,6'
          Dst:             strncmp
        - Src:             './policy.c:425,31'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:427,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:427,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:427,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:432,6'
          Dst:             strncmp
        - Src:             './policy.c:434,30'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:436,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:436,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:436,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:441,6'
          Dst:             strncmp
        - Src:             './policy.c:442,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:442,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:446,6'
          Dst:             strncmp
        - Src:             './policy.c:447,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:447,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:449,27'
          Dst:             strdup
        - Src:             './policy.c:453,6'
          Dst:             strncmp
        - Src:             './policy.c:454,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:454,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:456,31'
          Dst:             strdup
        - Src:             './policy.c:459,10'
          Dst:             strncmp
        - Src:             './policy.c:463,6'
          Dst:             strncmp
        - Src:             './policy.c:472,14'
          Dst:             sudo_strtonum
        - Src:             './policy.c:475,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:475,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:481,6'
          Dst:             strncmp
        - Src:             './policy.c:482,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:482,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:486,6'
          Dst:             strncmp
        - Src:             './policy.c:488,29'
          Dst:             sudo_strtonum
        - Src:             './policy.c:490,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:490,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:490,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:495,6'
          Dst:             strncmp
        - Src:             './policy.c:497,28'
          Dst:             sudo_strtonum
        - Src:             './policy.c:499,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:499,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:499,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:504,6'
          Dst:             strncmp
        - Src:             './policy.c:506,30'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:508,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:508,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:508,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:513,6'
          Dst:             strncmp
        - Src:             './policy.c:515,31'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:517,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:517,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:517,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:522,6'
          Dst:             strncmp
        - Src:             './policy.c:524,30'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:526,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:526,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:526,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:531,6'
          Dst:             strncmp
        - Src:             './policy.c:533,33'
          Dst:             sudo_strtoid_v2
        - Src:             './policy.c:535,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:535,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:535,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:540,6'
          Dst:             strncmp
        - Src:             './policy.c:542,24'
          Dst:             sudo_strtomode_v2
        - Src:             './policy.c:544,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:544,34'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:544,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:553,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:553,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:557,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:557,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:561,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:561,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:565,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:565,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:569,10'
          Dst:             sudoers_sethost
        - Src:             './policy.c:574,23'
          Dst:             strdup
        - Src:             './policy.c:579,20'
          Dst:             sudo_getpwnam
        - Src:             './policy.c:583,14'
          Dst:             sudo_parse_gids_v1
        - Src:             './policy.c:588,6'
          Dst:             sudo_set_gidlist
        - Src:             './policy.c:597,6'
          Dst:             stat
        - Src:             './policy.c:600,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './policy.c:605,20'
          Dst:             umask
        - Src:             './policy.c:606,2'
          Dst:             umask
        - Src:             './policy.c:617,5'
          Dst:             sudo_uuid_create_v1
        - Src:             './policy.c:618,9'
          Dst:             sudo_uuid_to_string_v1
        - Src:             './policy.c:619,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:619,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './policy.c:628,7'
          Dst:             append_default
        - Src:             './policy.c:632,7'
          Dst:             append_default
        - Src:             './policy.c:642,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './policy.c:644,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './policy.c:652,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:652,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             './policy.c:652,5'
          Dst:             sudo_warnx_nodebug_v1
    - 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:    umask
      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:    sudoers_sethost
      functionSourceFile: '/src/sudo/plugins/sudoers/./sethost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          314
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - __errno_location
        - strchr
        - strdup
        - strndup
        - sudo_gethostname_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sethost.c:47,19'
          Dst:             sudo_gethostname_v1
        - Src:             './sethost.c:48,32'
          Dst:             __errno_location
        - Src:             './sethost.c:49,23'
          Dst:             strdup
        - Src:             './sethost.c:51,19'
          Dst:             strdup
        - Src:             './sethost.c:55,15'
          Dst:             strchr
        - Src:             './sethost.c:56,20'
          Dst:             strndup
        - Src:             './sethost.c:70,23'
          Dst:             strdup
        - Src:             './sethost.c:73,15'
          Dst:             strchr
        - Src:             './sethost.c:74,21'
          Dst:             strndup
        - Src:             './sethost.c:84,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sethost.c:84,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sethost.c:84,5'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    strndup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    serialize_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./serialize_list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         48
      ICount:          298
      EdgeCount:       61
      CyclomaticComplexity: 15
      functionsReached:
        - strlen
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './serialize_list.c:39,19'
          Dst:             strlen
        - Src:             './serialize_list.c:51,11'
          Dst:             sudo_strlcpy
        - Src:             './serialize_list.c:57,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './serialize_list.c:57,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './serialize_list.c:66,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './serialize_list.c:66,3'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    strlcpy_unescape
      functionSourceFile: '/src/sudo/plugins/sudoers/./strlcpy_unesc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          126
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - __ctype_b_loc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './strlcpy_unesc.c:38,37'
          Dst:             __ctype_b_loc
    - functionName:    strvec_join
      functionSourceFile: '/src/sudo/plugins/sudoers/./strvec_join.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          178
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - strlen
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './strvec_join.c:46,10'
          Dst:             strlen
        - Src:             './strvec_join.c:48,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './strvec_join.c:48,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './strvec_join.c:48,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './strvec_join.c:57,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './strvec_join.c:57,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    set_runasgr
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1468
      functionLinenumberEnd: 1494
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          145
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - log_warningx
        - sudo_fakegrnam
        - sudo_getgrgid
        - sudo_getgrnam
        - sudo_gr_delref
        - sudo_strtoid_v2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:1475,14'
          Dst:             sudo_strtoid_v2
        - Src:             './sudoers.c:1477,16'
          Dst:             sudo_getgrgid
        - Src:             './sudoers.c:1479,8'
          Dst:             sudo_fakegrnam
        - Src:             './sudoers.c:1484,12'
          Dst:             sudo_getgrnam
        - Src:             './sudoers.c:1486,3'
          Dst:             log_warningx
        - Src:             './sudoers.c:1491,2'
          Dst:             sudo_gr_delref
    - functionName:    cb_lookup
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      void
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          51
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1155
      functionLinenumberEnd: 1246
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         78
      ICount:          469
      EdgeCount:       99
      CyclomaticComplexity: 23
      functionsReached:
        - __errno_location
        - audit_failure
        - calloc
        - log_warning
        - set_cmnd_path
        - strcmp
        - strdup
        - strlcpy_unescape
        - strvec_join
        - sudo_basename_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - update_defaults
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:1162,27'
          Dst:             calloc
        - Src:             './sudoers.c:1164,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:1164,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:1164,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:1176,7'
          Dst:             strcmp
        - Src:             './sudoers.c:1179,12'
          Dst:             set_cmnd_path
        - Src:             './sudoers.c:1181,7'
          Dst:             __errno_location
        - Src:             './sudoers.c:1182,7'
          Dst:             audit_failure
        - Src:             './sudoers.c:1184,3'
          Dst:             log_warning
        - Src:             './sudoers.c:1195,25'
          Dst:             strvec_join
        - Src:             './sudoers.c:1208,25'
          Dst:             strvec_join
        - Src:             './sudoers.c:1208,25'
          Dst:             strlcpy_unescape
        - Src:             './sudoers.c:1211,25'
          Dst:             strvec_join
        - Src:             './sudoers.c:1219,19'
          Dst:             strdup
        - Src:             './sudoers.c:1223,27'
          Dst:             sudo_basename_v1
        - Src:             './sudoers.c:1226,39'
          Dst:             strcmp
        - Src:             './sudoers.c:1231,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:1231,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:1232,18'
          Dst:             strdup
        - Src:             './sudoers.c:1233,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:1233,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:1233,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:1242,8'
          Dst:             update_defaults
    - functionName:    set_cmnd_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1097
      functionLinenumberEnd: 1137
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          215
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - canon_path
        - canon_path_free
        - resolve_cmnd
        - strrchr
        - user_is_exempt
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:1111,5'
          Dst:             canon_path_free
        - Src:             './sudoers.c:1113,29'
          Dst:             user_is_exempt
        - Src:             './sudoers.c:1116,11'
          Dst:             resolve_cmnd
        - Src:             './sudoers.c:1118,16'
          Dst:             strrchr
        - Src:             './sudoers.c:1121,27'
          Dst:             canon_path
        - Src:             './sudoers.c:1122,40'
          Dst:             __errno_location
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_set_log_format
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1571
      functionLinenumberEnd: 1593
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          70
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached:
        - eventlog_set_format
      functionUses:    1
      BranchProfiles:
        - Branch String:   './sudoers.c:1576,5'
          Branch Sides:    []
      Callsites:
        - Src:             './sudoers.c:1590,5'
          Dst:             eventlog_set_format
    - functionName:    sudoers_get_context
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1565
      functionLinenumberEnd: 1566
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_set_mode
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1558
      functionLinenumberEnd: 1560
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_runaspw
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1434
      functionLinenumberEnd: 1460
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          149
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - log_warningx
        - sudo_fakepwnam
        - sudo_getpwnam
        - sudo_getpwuid
        - sudo_pw_delref
        - sudo_strtoid_v2
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:1441,14'
          Dst:             sudo_strtoid_v2
        - Src:             './sudoers.c:1443,16'
          Dst:             sudo_getpwuid
        - Src:             './sudoers.c:1445,8'
          Dst:             sudo_fakepwnam
        - Src:             './sudoers.c:1450,12'
          Dst:             sudo_getpwnam
        - Src:             './sudoers.c:1452,3'
          Dst:             log_warningx
        - Src:             './sudoers.c:1457,2'
          Dst:             sudo_pw_delref
    - functionName:    cb_runas_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1502
      functionLinenumberEnd: 1509
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - set_runaspw
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:1507,2'
          Dst:             set_runaspw
    - functionName:    open_file
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1250
      functionLinenumberEnd: 1277
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          127
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - close
        - geteuid
        - open
        - restore_perms
        - set_perms
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:1254,10'
          Dst:             set_perms
        - Src:             './sudoers.c:1257,10'
          Dst:             open
        - Src:             './sudoers.c:1258,21'
          Dst:             __errno_location
        - Src:             './sudoers.c:1258,40'
          Dst:             geteuid
        - Src:             './sudoers.c:1263,15'
          Dst:             __errno_location
        - Src:             './sudoers.c:1264,6'
          Dst:             restore_perms
        - Src:             './sudoers.c:1264,25'
          Dst:             set_perms
        - Src:             './sudoers.c:1265,11'
          Dst:             open
        - Src:             './sudoers.c:1266,2'
          Dst:             __errno_location
        - Src:             './sudoers.c:1268,10'
          Dst:             restore_perms
        - Src:             './sudoers.c:1271,6'
          Dst:             close
    - functionName:    geteuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    open_sudoers
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1285
      functionLinenumberEnd: 1373
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          255
      EdgeCount:       59
      CyclomaticComplexity: 13
      functionsReached:
        - close
        - fclose
        - fcntl
        - fdopen
        - fgetc
        - fileno
        - fstat
        - log_warning
        - log_warningx
        - open_file
        - rewind
        - sudo_open_conf_path_v1
        - sudo_rcstr_dup
        - sudo_secure_fd_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_file_gid
        - sudoers_file_uid
      functionUses:    3
      BranchProfiles:
        - Branch String:   './sudoers.c:1311,5'
          Branch Sides:    []
      Callsites:
        - Src:             './sudoers.c:1294,7'
          Dst:             open_file
        - Src:             './sudoers.c:1296,38'
          Dst:             fcntl
        - Src:             './sudoers.c:1296,19'
          Dst:             fcntl
        - Src:             './sudoers.c:1299,7'
          Dst:             sudo_open_conf_path_v1
        - Src:             './sudoers.c:1299,7'
          Dst:             open_file
        - Src:             './sudoers.c:1303,18'
          Dst:             fstat
        - Src:             './sudoers.c:1308,10'
          Dst:             sudoers_file_uid
        - Src:             './sudoers.c:1308,10'
          Dst:             sudoers_file_gid
        - Src:             './sudoers.c:1308,10'
          Dst:             sudo_secure_fd_v1
        - Src:             './sudoers.c:1317,12'
          Dst:             fdopen
        - Src:             './sudoers.c:1318,6'
          Dst:             log_warning
        - Src:             './sudoers.c:1322,29'
          Dst:             fgetc
        - Src:             './sudoers.c:1323,3'
          Dst:             log_warning
        - Src:             './sudoers.c:1325,3'
          Dst:             fclose
        - Src:             './sudoers.c:1329,3'
          Dst:             rewind
        - Src:             './sudoers.c:1330,15'
          Dst:             fileno
        - Src:             './sudoers.c:1330,9'
          Dst:             fcntl
        - Src:             './sudoers.c:1332,32'
          Dst:             sudo_rcstr_dup
        - Src:             './sudoers.c:1334,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:1335,8'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:1334,4'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:1336,4'
          Dst:             fclose
        - Src:             './sudoers.c:1344,2'
          Dst:             log_warning
        - Src:             './sudoers.c:1348,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:1354,45'
          Dst:             sudoers_file_uid
        - Src:             './sudoers.c:1352,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:1357,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:1363,45'
          Dst:             sudoers_file_gid
        - Src:             './sudoers.c:1361,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:1366,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:1371,2'
          Dst:             close
    - 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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fstat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fgetc
      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:    rewind
      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:    fileno
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_cmnd_status
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1145
      functionLinenumberEnd: 1147
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - set_cmnd_path
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:1146,19'
          Dst:             set_cmnd_path
    - functionName:    sudoers_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 944
      functionLinenumberEnd: 1003
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          204
      EdgeCount:       46
      CyclomaticComplexity: 13
      functionsReached:
        - display_cmnd
        - display_privs
        - env_init
        - group_plugin_unload
        - mail_parse_errors
        - reallocarray
        - reset_parser
        - restore_nproc
        - rewind_perms
        - set_perms
        - sudo_getpwnam
        - sudo_pw_delref
        - sudo_warn_gettext_v1
        - sudo_warn_set_locale_func_v1
        - sudo_warnx_nodebug_v1
        - sudoers_check_common
        - sudoers_gc_add
        - sudoers_warn_setlocale
        - unlimit_nproc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:949,5'
          Dst:             sudo_warn_set_locale_func_v1
        - Src:             './sudoers.c:949,5'
          Dst:             sudoers_warn_setlocale
        - Src:             './sudoers.c:951,5'
          Dst:             unlimit_nproc
        - Src:             './sudoers.c:953,10'
          Dst:             set_perms
        - Src:             './sudoers.c:958,6'
          Dst:             sudo_pw_delref
        - Src:             './sudoers.c:959,30'
          Dst:             sudo_getpwnam
        - Src:             './sudoers.c:961,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:961,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:966,30'
          Dst:             reallocarray
        - Src:             './sudoers.c:968,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:968,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:968,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:971,5'
          Dst:             sudoers_gc_add
        - Src:             './sudoers.c:978,11'
          Dst:             sudoers_check_common
        - Src:             './sudoers.c:984,8'
          Dst:             display_cmnd
        - Src:             './sudoers.c:986,8'
          Dst:             display_privs
        - Src:             './sudoers.c:989,5'
          Dst:             mail_parse_errors
        - Src:             './sudoers.c:992,2'
          Dst:             group_plugin_unload
        - Src:             './sudoers.c:993,5'
          Dst:             reset_parser
        - Src:             './sudoers.c:994,5'
          Dst:             env_init
        - Src:             './sudoers.c:996,10'
          Dst:             rewind_perms
        - Src:             './sudoers.c:999,5'
          Dst:             restore_nproc
        - Src:             './sudoers.c:1001,5'
          Dst:             sudo_warn_set_locale_func_v1
    - functionName:    unlimit_nproc
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          65
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - getrlimit
        - setrlimit
        - sudo_warn_nodebug_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:105,9'
          Dst:             getrlimit
        - Src:             './sudoers.c:106,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './sudoers.c:108,9'
          Dst:             setrlimit
        - Src:             './sudoers.c:110,6'
          Dst:             setrlimit
        - Src:             './sudoers.c:111,6'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    sudoers_check_common
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 628
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         172
      ICount:          984
      EdgeCount:       230
      CyclomaticComplexity: 60
      functionsReached:
        - __ctype_b_loc
        - asprintf
        - audit_failure
        - cb_lookup
        - check_user
        - check_user_runchroot
        - check_user_runcwd
        - create_admin_success_flag
        - log_denial
        - log_failure
        - log_warningx
        - rebuild_env
        - set_cmnd
        - strcmp
        - strdup
        - strncmp
        - sudo_getpwnam
        - sudo_pw_delref
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_lookup
        - sudoers_setlocale
        - sudoers_tty_present
        - time
        - user_shell_valid
        - validate_env_vars
      functionUses:    3
      BranchProfiles:
        - Branch String:   './sudoers.c:483,5'
          Branch Sides:    []
        - Branch String:   './sudoers.c:501,5'
          Branch Sides:    []
        - Branch String:   './sudoers.c:516,5'
          Branch Sides:    []
      Callsites:
        - Src:             './sudoers.c:358,6'
          Dst:             strcmp
        - Src:             './sudoers.c:359,6'
          Dst:             log_warningx
        - Src:             './sudoers.c:362,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:361,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:373,19'
          Dst:             set_cmnd
        - Src:             './sudoers.c:381,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:380,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:389,6'
          Dst:             log_warningx
        - Src:             './sudoers.c:391,23'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:391,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:400,5'
          Dst:             time
        - Src:             './sudoers.c:401,5'
          Dst:             sudoers_setlocale
        - Src:             './sudoers.c:402,17'
          Dst:             sudoers_lookup
        - Src:             './sudoers.c:402,17'
          Dst:             cb_lookup
        - Src:             './sudoers.c:404,5'
          Dst:             sudoers_setlocale
        - Src:             './sudoers.c:413,10'
          Dst:             asprintf
        - Src:             './sudoers.c:417,20'
          Dst:             strdup
        - Src:             './sudoers.c:420,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:420,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:420,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:426,25'
          Dst:             strdup
        - Src:             './sudoers.c:427,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:427,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:427,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:434,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:440,6'
          Dst:             log_warningx
        - Src:             './sudoers.c:454,28'
          Dst:             sudoers_tty_present
        - Src:             './sudoers.c:455,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:456,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:456,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:462,7'
          Dst:             user_shell_valid
        - Src:             './sudoers.c:463,6'
          Dst:             log_warningx
        - Src:             './sudoers.c:479,10'
          Dst:             rebuild_env
        - Src:             './sudoers.c:483,13'
          Dst:             check_user
        - Src:             './sudoers.c:491,11'
          Dst:             log_denial
        - Src:             './sudoers.c:501,13'
          Dst:             check_user_runchroot
        - Src:             './sudoers.c:505,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:508,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:508,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:516,13'
          Dst:             check_user_runcwd
        - Src:             './sudoers.c:520,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:522,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:522,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:532,28'
          Dst:             strcmp
        - Src:             './sudoers.c:535,16'
          Dst:             sudo_getpwnam
        - Src:             './sudoers.c:537,4'
          Dst:             sudo_pw_delref
        - Src:             './sudoers.c:546,7'
          Dst:             log_failure
        - Src:             './sudoers.c:561,8'
          Dst:             log_denial
        - Src:             './sudoers.c:569,9'
          Dst:             create_admin_success_flag
        - Src:             './sudoers.c:574,2'
          Dst:             audit_failure
        - Src:             './sudoers.c:575,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:575,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:579,6'
          Dst:             audit_failure
        - Src:             './sudoers.c:581,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:581,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:583,6'
          Dst:             audit_failure
        - Src:             './sudoers.c:585,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:585,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:586,10'
          Dst:             strncmp
        - Src:             './sudoers.c:587,7'
          Dst:             __ctype_b_loc
        - Src:             './sudoers.c:589,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:588,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:591,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:590,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:593,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:592,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:601,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:604,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:603,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:611,6'
          Dst:             log_warningx
        - Src:             './sudoers.c:614,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:613,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:617,11'
          Dst:             validate_env_vars
    - functionName:    restore_nproc
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          32
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - setrlimit
        - sudo_warn_nodebug_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:126,9'
          Dst:             setrlimit
        - Src:             './sudoers.c:127,2'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    setrlimit
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    time
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getrlimit
      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:    sudoers_validate_user
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 896
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         16
      ICount:          88
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - env_init
        - group_plugin_unload
        - mail_parse_errors
        - reallocarray
        - reset_parser
        - restore_nproc
        - rewind_perms
        - set_perms
        - sudo_warn_gettext_v1
        - sudo_warn_set_locale_func_v1
        - sudo_warnx_nodebug_v1
        - sudoers_check_common
        - sudoers_gc_add
        - sudoers_warn_setlocale
        - unlimit_nproc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:900,5'
          Dst:             sudo_warn_set_locale_func_v1
        - Src:             './sudoers.c:900,5'
          Dst:             sudoers_warn_setlocale
        - Src:             './sudoers.c:902,5'
          Dst:             unlimit_nproc
        - Src:             './sudoers.c:904,10'
          Dst:             set_perms
        - Src:             './sudoers.c:907,30'
          Dst:             reallocarray
        - Src:             './sudoers.c:909,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:909,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:909,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:912,5'
          Dst:             sudoers_gc_add
        - Src:             './sudoers.c:917,11'
          Dst:             sudoers_check_common
        - Src:             './sudoers.c:920,5'
          Dst:             mail_parse_errors
        - Src:             './sudoers.c:923,2'
          Dst:             group_plugin_unload
        - Src:             './sudoers.c:924,5'
          Dst:             reset_parser
        - Src:             './sudoers.c:925,5'
          Dst:             env_init
        - Src:             './sudoers.c:927,10'
          Dst:             rewind_perms
        - Src:             './sudoers.c:930,5'
          Dst:             restore_nproc
        - Src:             './sudoers.c:932,5'
          Dst:             sudo_warn_set_locale_func_v1
    - functionName:    format_iolog_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 321
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          110
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - asprintf
        - expand_iolog_path
        - strlen
        - sudoers_setlocale
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:298,5'
          Dst:             sudoers_setlocale
        - Src:             './sudoers.c:299,10'
          Dst:             expand_iolog_path
        - Src:             './sudoers.c:303,7'
          Dst:             expand_iolog_path
        - Src:             './sudoers.c:307,5'
          Dst:             sudoers_setlocale
        - Src:             './sudoers.c:311,9'
          Dst:             asprintf
        - Src:             './sudoers.c:318,45'
          Dst:             strlen
    - functionName:    sudoers_reinit_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          147
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - init_defaults
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - update_defaults
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:145,10'
          Dst:             init_defaults
        - Src:             './sudoers.c:146,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:146,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:151,10'
          Dst:             update_defaults
        - Src:             './sudoers.c:161,12'
          Dst:             update_defaults
    - functionName:    sudoers_check_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 887
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         152
      ICount:          725
      EdgeCount:       203
      CyclomaticComplexity: 53
      functionsReached:
        - __errno_location
        - audit_failure
        - env_get
        - env_init
        - env_swap_old
        - find_editor
        - format_iolog_path
        - group_plugin_unload
        - insert_env_vars
        - log_warningx
        - mail_parse_errors
        - read_env_file
        - reallocarray
        - reset_parser
        - restore_nproc
        - rewind_perms
        - set_perms
        - strcmp
        - strdup
        - strrchr
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warn_set_locale_func_v1
        - sudo_warnx_nodebug_v1
        - sudoers_check_common
        - sudoers_gc_add
        - sudoers_gc_remove
        - sudoers_policy_store_result
        - sudoers_reinit_defaults
        - sudoers_warn_setlocale
        - unlimit_nproc
      functionUses:    1
      BranchProfiles:
        - Branch String:   './sudoers.c:806,6'
          Branch Sides:    []
      Callsites:
        - Src:             './sudoers.c:647,5'
          Dst:             sudo_warn_set_locale_func_v1
        - Src:             './sudoers.c:647,5'
          Dst:             sudoers_warn_setlocale
        - Src:             './sudoers.c:650,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:650,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:664,7'
          Dst:             sudoers_reinit_defaults
        - Src:             './sudoers.c:669,5'
          Dst:             unlimit_nproc
        - Src:             './sudoers.c:671,10'
          Dst:             set_perms
        - Src:             './sudoers.c:683,2'
          Dst:             sudoers_gc_remove
        - Src:             './sudoers.c:686,30'
          Dst:             reallocarray
        - Src:             './sudoers.c:688,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:688,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:688,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:691,5'
          Dst:             sudoers_gc_add
        - Src:             './sudoers.c:696,30'
          Dst:             strdup
        - Src:             './sudoers.c:698,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:698,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:698,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:701,2'
          Dst:             sudoers_gc_add
        - Src:             './sudoers.c:704,11'
          Dst:             sudoers_check_common
        - Src:             './sudoers.c:710,24'
          Dst:             format_iolog_path
        - Src:             './sudoers.c:740,11'
          Dst:             strrchr
        - Src:             './sudoers.c:751,36'
          Dst:             strcmp
        - Src:             './sudoers.c:752,6'
          Dst:             strcmp
        - Src:             './sudoers.c:762,7'
          Dst:             read_env_file
        - Src:             './sudoers.c:763,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './sudoers.c:780,7'
          Dst:             read_env_file
        - Src:             './sudoers.c:781,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './sudoers.c:784,7'
          Dst:             read_env_file
        - Src:             './sudoers.c:785,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './sudoers.c:789,10'
          Dst:             insert_env_vars
        - Src:             './sudoers.c:791,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:790,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:803,27'
          Dst:             find_editor
        - Src:             './sudoers.c:806,14'
          Dst:             __errno_location
        - Src:             './sudoers.c:808,3'
          Dst:             audit_failure
        - Src:             './sudoers.c:811,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:811,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:817,7'
          Dst:             log_warningx
        - Src:             './sudoers.c:829,6'
          Dst:             sudoers_gc_remove
        - Src:             './sudoers.c:836,2'
          Dst:             env_swap_old
        - Src:             './sudoers.c:841,33'
          Dst:             strdup
        - Src:             './sudoers.c:843,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:843,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:843,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:860,5'
          Dst:             mail_parse_errors
        - Src:             './sudoers.c:863,2'
          Dst:             group_plugin_unload
        - Src:             './sudoers.c:864,5'
          Dst:             reset_parser
        - Src:             './sudoers.c:872,30'
          Dst:             env_get
        - Src:             './sudoers.c:871,7'
          Dst:             sudoers_policy_store_result
        - Src:             './sudoers.c:877,11'
          Dst:             env_init
        - Src:             './sudoers.c:879,10'
          Dst:             rewind_perms
        - Src:             './sudoers.c:882,5'
          Dst:             restore_nproc
        - Src:             './sudoers.c:884,5'
          Dst:             sudo_warn_set_locale_func_v1
    - functionName:    set_loginclass
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1423
      functionLinenumberEnd: 1424
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_vars
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1011
      functionLinenumberEnd: 1089
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         82
      ICount:          444
      EdgeCount:       102
      CyclomaticComplexity: 22
      functionsReached:
        - log_warningx
        - set_callbacks
        - set_perms
        - set_runasgr
        - set_runaspw
        - setlocale
        - strncmp
        - sudo_get_gidlist
        - sudo_mkpwent
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_initlocale
      functionUses:    1
      BranchProfiles:
        - Branch String:   './sudoers.c:1026,2'
          Branch Sides:    []
      Callsites:
        - Src:             './sudoers.c:1016,29'
          Dst:             setlocale
        - Src:             './sudoers.c:1016,10'
          Dst:             sudoers_initlocale
        - Src:             './sudoers.c:1017,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:1017,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:1017,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:1028,7'
          Dst:             strncmp
        - Src:             './sudoers.c:1032,7'
          Dst:             strncmp
        - Src:             './sudoers.c:1036,7'
          Dst:             strncmp
        - Src:             './sudoers.c:1042,7'
          Dst:             strncmp
        - Src:             './sudoers.c:1051,17'
          Dst:             sudo_mkpwent
        - Src:             './sudoers.c:1056,23'
          Dst:             sudo_get_gidlist
        - Src:             './sudoers.c:1059,10'
          Dst:             set_perms
        - Src:             './sudoers.c:1063,5'
          Dst:             set_callbacks
        - Src:             './sudoers.c:1067,2'
          Dst:             log_warningx
        - Src:             './sudoers.c:1077,7'
          Dst:             set_runasgr
        - Src:             './sudoers.c:1079,7'
          Dst:             set_runaspw
        - Src:             './sudoers.c:1083,7'
          Dst:             set_runaspw
    - functionName:    sudoers_cleanup
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1517
      functionLinenumberEnd: 1554
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         25
      ICount:          144
      EdgeCount:       30
      CyclomaticComplexity: 7
      functionsReached:
        - canon_path_free_cache
        - env_free
        - group_plugin_unload
        - reset_parser
        - sudo_freegrcache
        - sudo_freepwcache
        - sudoers_ctx_free
        - sudoers_gc_run
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:1527,2'
          Dst:             reset_parser
        - Src:             './sudoers.c:1538,2'
          Dst:             group_plugin_unload
        - Src:             './sudoers.c:1539,5'
          Dst:             sudoers_ctx_free
        - Src:             './sudoers.c:1540,5'
          Dst:             sudo_freepwcache
        - Src:             './sudoers.c:1541,5'
          Dst:             sudo_freegrcache
        - Src:             './sudoers.c:1542,5'
          Dst:             canon_path_free_cache
        - Src:             './sudoers.c:1545,5'
          Dst:             env_free
        - Src:             './sudoers.c:1548,5'
          Dst:             sudoers_gc_run
    - functionName:    sudoers_init
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         71
      ICount:          352
      EdgeCount:       88
      CyclomaticComplexity: 19
      functionsReached:
        - bindtextdomain
        - env_init
        - init_defaults
        - init_vars
        - log_warningx
        - mail_parse_errors
        - restore_perms
        - set_loginclass
        - set_perms
        - sudo_fatal_callback_register_v1
        - sudo_read_nss
        - sudo_warn_gettext_v1
        - sudo_warn_set_locale_func_v1
        - sudo_warnx_nodebug_v1
        - sudoers_cleanup
        - sudoers_policy_deserialize_info
        - sudoers_setlocale
        - sudoers_warn_setlocale
        - update_defaults
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers.c:198,5'
          Dst:             bindtextdomain
        - Src:             './sudoers.c:204,5'
          Dst:             sudo_fatal_callback_register_v1
        - Src:             './sudoers.c:204,5'
          Dst:             sudoers_cleanup
        - Src:             './sudoers.c:207,10'
          Dst:             env_init
        - Src:             './sudoers.c:211,10'
          Dst:             init_defaults
        - Src:             './sudoers.c:212,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:212,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:217,24'
          Dst:             sudoers_policy_deserialize_info
        - Src:             './sudoers.c:222,10'
          Dst:             init_vars
        - Src:             './sudoers.c:226,11'
          Dst:             sudo_read_nss
        - Src:             './sudoers.c:229,10'
          Dst:             set_perms
        - Src:             './sudoers.c:233,5'
          Dst:             sudoers_setlocale
        - Src:             './sudoers.c:234,5'
          Dst:             sudo_warn_set_locale_func_v1
        - Src:             './sudoers.c:234,5'
          Dst:             sudoers_warn_setlocale
        - Src:             './sudoers.c:237,10'
          Dst:             update_defaults
        - Src:             './sudoers.c:252,6'
          Dst:             log_warningx
        - Src:             './sudoers.c:255,12'
          Dst:             update_defaults
        - Src:             './sudoers.c:262,23'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers.c:262,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers.c:267,9'
          Dst:             set_loginclass
        - Src:             './sudoers.c:271,5'
          Dst:             mail_parse_errors
        - Src:             './sudoers.c:273,10'
          Dst:             restore_perms
        - Src:             './sudoers.c:277,5'
          Dst:             sudo_warn_set_locale_func_v1
        - Src:             './sudoers.c:278,5'
          Dst:             sudoers_setlocale
    - functionName:    bindtextdomain
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    resolve_host
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          141
      EdgeCount:       27
      CyclomaticComplexity: 6
      functionsReached:
        - freeaddrinfo
        - getaddrinfo
        - strchr
        - strdup
        - strndup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:68,16'
          Dst:             getaddrinfo
        - Src:             './sudoers_cb.c:70,18'
          Dst:             strdup
        - Src:             './sudoers_cb.c:71,2'
          Dst:             freeaddrinfo
        - Src:             './sudoers_cb.c:74,15'
          Dst:             strchr
        - Src:             './sudoers_cb.c:75,10'
          Dst:             strndup
        - Src:             './sudoers_cb.c:78,6'
          Dst:             freeaddrinfo
        - Src:             './sudoers_cb.c:84,5'
          Dst:             freeaddrinfo
    - functionName:    sudoers_override_umask
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 498
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_intercept_allow_setid
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_intercept_type
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_mailsub
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          38
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_mailsub
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:360,5'
          Dst:             eventlog_set_mailsub
    - functionName:    cb_mailto
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          38
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_mailto
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:349,5'
          Dst:             eventlog_set_mailto
    - functionName:    cb_mailfrom
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          38
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_mailfrom
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:338,5'
          Dst:             eventlog_set_mailfrom
    - functionName:    cb_mailerflags
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          38
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_mailerflags
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:327,5'
          Dst:             eventlog_set_mailerflags
    - functionName:    cb_mailerpath
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          38
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_mailerpath
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:316,5'
          Dst:             eventlog_set_mailerpath
    - functionName:    cb_log_year
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          41
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_time_fmt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:294,5'
          Dst:             eventlog_set_time_fmt
    - functionName:    cb_log_format
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudoers_set_log_format
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:226,12'
          Dst:             sudoers_set_log_format
    - functionName:    cb_logfile
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          62
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - eventlog_set_logpath
        - eventlog_set_type
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:216,5'
          Dst:             eventlog_set_type
        - Src:             './sudoers_cb.c:217,5'
          Dst:             eventlog_set_logpath
    - functionName:    cb_log_host
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          40
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_omit_hostname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:305,5'
          Dst:             eventlog_set_omit_hostname
    - functionName:    cb_loglinelen
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          39
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_file_maxlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:283,5'
          Dst:             eventlog_set_file_maxlen
    - functionName:    cb_syslog_maxlen
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          39
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_syslog_maxlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:272,5'
          Dst:             eventlog_set_syslog_maxlen
    - functionName:    cb_syslog_badpri
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          41
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_syslog_alertpri
        - eventlog_set_syslog_rejectpri
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:260,5'
          Dst:             eventlog_set_syslog_rejectpri
        - Src:             './sudoers_cb.c:261,5'
          Dst:             eventlog_set_syslog_alertpri
    - functionName:    cb_syslog_goodpri
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          38
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - eventlog_set_syslog_acceptpri
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:249,5'
          Dst:             eventlog_set_syslog_acceptpri
    - functionName:    cb_syslog
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - eventlog_set_type
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:238,5'
          Dst:             eventlog_set_type
    - functionName:    cb_runchroot
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - set_cmnd_status
        - sudo_debug_printf2_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:195,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './sudoers_cb.c:199,2'
          Dst:             set_cmnd_status
        - Src:             './sudoers_cb.c:200,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    cb_umask
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_tty_tickets
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_fqdn
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          367
      EdgeCount:       71
      CyclomaticComplexity: 17
      functionsReached:
        - gai_log_warning
        - resolve_host
        - strcmp
        - strdup
        - sudo_debug_printf2_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_cb.c:109,14'
          Dst:             strcmp
        - Src:             './sudoers_cb.c:112,9'
          Dst:             resolve_host
        - Src:             './sudoers_cb.c:113,12'
          Dst:             resolve_host
        - Src:             './sudoers_cb.c:114,6'
          Dst:             gai_log_warning
        - Src:             './sudoers_cb.c:128,12'
          Dst:             resolve_host
        - Src:             './sudoers_cb.c:129,6'
          Dst:             gai_log_warning
        - Src:             './sudoers_cb.c:135,15'
          Dst:             strdup
        - Src:             './sudoers_cb.c:137,11'
          Dst:             strdup
        - Src:             './sudoers_cb.c:145,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers_cb.c:145,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './sudoers_cb.c:145,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './sudoers_cb.c:157,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    set_callbacks
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 493
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          43
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_log_input
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 401
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_log_output
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_cb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          43
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_ctx_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_ctx_free.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          272
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - canon_path_free
        - sudo_gidlist_delref
        - sudo_gr_delref
        - sudo_pw_delref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_ctx_free.c:37,2'
          Dst:             sudo_pw_delref
        - Src:             './sudoers_ctx_free.c:39,2'
          Dst:             sudo_gidlist_delref
        - Src:             './sudoers_ctx_free.c:52,5'
          Dst:             canon_path_free
        - Src:             './sudoers_ctx_free.c:59,2'
          Dst:             sudo_pw_delref
        - Src:             './sudoers_ctx_free.c:61,2'
          Dst:             sudo_gr_delref
        - Src:             './sudoers_ctx_free.c:63,2'
          Dst:             sudo_pw_delref
    - functionName:    sudoers_hook_unsetenv
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_hooks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - env_get
        - sudo_unsetenv_nodebug
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_hooks.c:143,24'
          Dst:             env_get
        - Src:             './sudoers_hooks.c:147,5'
          Dst:             sudo_unsetenv_nodebug
    - functionName:    sudo_setenv_nodebug
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_hooks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          213
      EdgeCount:       49
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - strlen
        - sudo_putenv_nodebug
        - sudoers_gc_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_hooks.c:46,2'
          Dst:             __errno_location
        - Src:             './sudoers_hooks.c:58,11'
          Dst:             strlen
        - Src:             './sudoers_hooks.c:73,11'
          Dst:             sudo_putenv_nodebug
        - Src:             './sudoers_hooks.c:78,2'
          Dst:             sudoers_gc_add
    - functionName:    sudoers_hook_setenv
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_hooks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - env_get
        - sudo_setenv_nodebug
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_hooks.c:129,24'
          Dst:             env_get
        - Src:             './sudoers_hooks.c:133,5'
          Dst:             sudo_setenv_nodebug
    - functionName:    sudoers_hook_putenv
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_hooks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - env_get
        - sudo_putenv_nodebug
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_hooks.c:115,24'
          Dst:             env_get
        - Src:             './sudoers_hooks.c:119,5'
          Dst:             sudo_putenv_nodebug
    - functionName:    sudoers_hook_getenv
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_hooks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          109
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - env_get
        - strcmp
        - sudo_getenv_nodebug
        - sudoers_getlocale
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_hooks.c:87,24'
          Dst:             env_get
        - Src:             './sudoers_hooks.c:93,25'
          Dst:             sudoers_getlocale
        - Src:             './sudoers_hooks.c:94,6'
          Dst:             strcmp
        - Src:             './sudoers_hooks.c:94,39'
          Dst:             strcmp
        - Src:             './sudoers_hooks.c:98,6'
          Dst:             strcmp
        - Src:             './sudoers_hooks.c:98,37'
          Dst:             strcmp
        - Src:             './sudoers_hooks.c:104,14'
          Dst:             sudo_getenv_nodebug
    - functionName:    compare
      functionSourceFile: '/src/sudo/plugins/sudoers/./canon_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './canon_path.c:56,12'
          Dst:             strcmp
    - functionName:    canon_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./canon_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          320
      EdgeCount:       58
      CyclomaticComplexity: 12
      functionsReached:
        - compare
        - rbcreate
        - rbfind
        - rbinsert
        - realpath
        - strlen
        - sudo_debug_printf2_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './canon_path.c:166,5'
          Branch Sides:    []
      Callsites:
        - Src:             './canon_path.c:122,16'
          Dst:             rbcreate
        - Src:             './canon_path.c:122,16'
          Dst:             compare
        - Src:             './canon_path.c:124,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './canon_path.c:124,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './canon_path.c:124,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './canon_path.c:130,14'
          Dst:             rbfind
        - Src:             './canon_path.c:145,13'
          Dst:             realpath
        - Src:             './canon_path.c:147,13'
          Dst:             strlen
        - Src:             './canon_path.c:151,11'
          Dst:             strlen
        - Src:             './canon_path.c:156,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './canon_path.c:156,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './canon_path.c:156,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './canon_path.c:166,13'
          Dst:             rbinsert
        - Src:             './canon_path.c:169,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './canon_path.c:175,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './canon_path.c:182,9'
          Dst:             sudo_debug_printf2_v1
    - functionName:    realpath
      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:    canon_path_free_cache
      functionSourceFile: '/src/sudo/plugins/sudoers/./canon_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - canon_path_free_item
        - rbdestroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './canon_path.c:101,2'
          Dst:             rbdestroy
        - Src:             './canon_path.c:101,2'
          Dst:             canon_path_free_item
    - functionName:    canon_path_free_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./canon_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    canon_path_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./canon_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          35
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - canon_path_free_item
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './canon_path.c:86,2'
          Dst:             canon_path_free_item
    - functionName:    check_rlimit
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 903
      functionLinenumberEnd: 930
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          215
      EdgeCount:       54
      CyclomaticComplexity: 13
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - strncmp
        - strtoull
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:907,9'
          Dst:             __ctype_b_loc
        - Src:             './defaults.c:911,2'
          Dst:             __errno_location
        - Src:             './defaults.c:913,11'
          Dst:             strtoull
        - Src:             './defaults.c:914,20'
          Dst:             __errno_location
        - Src:             './defaults.c:925,9'
          Dst:             strncmp
    - functionName:    strtoull
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    list_op
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1210
      functionLinenumberEnd: 1252
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          263
      EdgeCount:       60
      CyclomaticComplexity: 12
      functionsReached:
        - calloc
        - strncmp
        - strndup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1224,7'
          Dst:             strncmp
        - Src:             './defaults.c:1243,8'
          Dst:             calloc
        - Src:             './defaults.c:1244,35'
          Dst:             strndup
        - Src:             './defaults.c:1245,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1245,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1245,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    store_rlimit
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 934
      functionLinenumberEnd: 957
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          122
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - check_rlimit
        - store_str
        - strchr
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:938,24'
          Dst:             strcmp
        - Src:             './defaults.c:938,52'
          Dst:             strcmp
        - Src:             './defaults.c:943,9'
          Dst:             strchr
        - Src:             './defaults.c:949,7'
          Dst:             check_rlimit
        - Src:             './defaults.c:951,7'
          Dst:             check_rlimit
        - Src:             './defaults.c:956,5'
          Dst:             store_str
    - functionName:    store_str
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1051
      functionLinenumberEnd: 1064
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - strdup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1058,24'
          Dst:             strdup
        - Src:             './defaults.c:1059,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1059,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1059,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    store_plugin
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1097
      functionLinenumberEnd: 1111
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          94
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - list_op
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1103,8'
          Dst:             list_op
        - Src:             './defaults.c:1106,20'
          Dst:             strlen
        - Src:             './defaults.c:1106,7'
          Dst:             list_op
    - functionName:    store_timespec
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 961
      functionLinenumberEnd: 1011
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         56
      ICount:          332
      EdgeCount:       70
      CyclomaticComplexity: 16
      functionsReached:
        - __ctype_b_loc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:973,8'
          Dst:             __ctype_b_loc
        - Src:             './defaults.c:990,8'
          Dst:             __ctype_b_loc
    - functionName:    store_timeout
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1160
      functionLinenumberEnd: 1175
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - parse_timeout
        - sudo_debug_printf2_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1166,16'
          Dst:             parse_timeout
        - Src:             './defaults.c:1168,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    store_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1068
      functionLinenumberEnd: 1093
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          158
      EdgeCount:       38
      CyclomaticComplexity: 9
      functionsReached:
        - list_op
        - strlen
        - sudo_strsplit_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1073,8'
          Dst:             list_op
        - Src:             './defaults.c:1078,26'
          Dst:             strlen
        - Src:             './defaults.c:1082,24'
          Dst:             strlen
        - Src:             './defaults.c:1082,11'
          Dst:             list_op
        - Src:             './defaults.c:1085,16'
          Dst:             sudo_strsplit_v1
        - Src:             './defaults.c:1087,8'
          Dst:             list_op
        - Src:             './defaults.c:1086,8'
          Dst:             sudo_strsplit_v1
    - functionName:    store_mode
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1139
      functionLinenumberEnd: 1156
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_strtomode_v2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1147,9'
          Dst:             sudo_strtomode_v2
        - Src:             './defaults.c:1149,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    store_uint
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 881
      functionLinenumberEnd: 898
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_strtonum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:889,20'
          Dst:             sudo_strtonum
        - Src:             './defaults.c:891,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    store_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 860
      functionLinenumberEnd: 877
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_strtonum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:868,11'
          Dst:             sudo_strtonum
        - Src:             './defaults.c:870,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    valid_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1180
      functionLinenumberEnd: 1204
      functionDepth:   0
      returnType:      bool
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          162
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - defaults_warnx
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1184,9'
          Dst:             strlen
        - Src:             './defaults.c:1185,2'
          Dst:             defaults_warnx
        - Src:             './defaults.c:1191,6'
          Dst:             defaults_warnx
        - Src:             './defaults.c:1198,6'
          Dst:             defaults_warnx
    - functionName:    defaults_warnx
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          58
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - parser_vwarnx
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:181,11'
          Dst:             parser_vwarnx
    - functionName:    cb_passprompt_regex
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1290
      functionLinenumberEnd: 1308
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          115
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - defaults_warnx
        - sudo_regex_compile_v1
        - sudo_warn_gettext_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1298,11'
          Dst:             sudo_regex_compile_v1
        - Src:             './defaults.c:1300,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1301,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1299,3'
          Dst:             defaults_warnx
    - functionName:    append_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1285
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          151
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - strdup
        - sudo_rcstr_addref
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1261,16'
          Dst:             calloc
        - Src:             './defaults.c:1266,21'
          Dst:             strdup
        - Src:             './defaults.c:1270,18'
          Dst:             strdup
        - Src:             './defaults.c:1274,5'
          Dst:             sudo_rcstr_addref
    - functionName:    check_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 834
      functionLinenumberEnd: 855
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          123
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - find_default
        - free_defs_val
        - parse_default_entry
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:841,8'
          Dst:             find_default
        - Src:             './defaults.c:846,10'
          Dst:             parse_default_entry
        - Src:             './defaults.c:848,3'
          Dst:             free_defs_val
    - functionName:    find_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          101
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - defaults_warnx
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:199,6'
          Dst:             strcmp
        - Src:             './defaults.c:203,2'
          Dst:             defaults_warnx
    - functionName:    parse_default_entry
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 327
      functionDepth:   0
      returnType:      bool
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          459
      EdgeCount:       83
      CyclomaticComplexity: 15
      functionsReached:
        - defaults_warnx
        - store_int
        - store_list
        - store_mode
        - store_plugin
        - store_rlimit
        - store_str
        - store_syslogfac
        - store_syslogpri
        - store_timeout
        - store_timespec
        - store_tuple
        - store_uint
        - sudo_debug_printf2_v1
        - valid_path
      functionUses:    3
      BranchProfiles:
        - Branch String:   './defaults.c:232,2'
          Branch Sides:    []
        - Branch String:   './defaults.c:261,5'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:224,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './defaults.c:247,3'
          Dst:             defaults_warnx
        - Src:             './defaults.c:256,2'
          Dst:             defaults_warnx
        - Src:             './defaults.c:263,11'
          Dst:             store_syslogfac
        - Src:             './defaults.c:266,11'
          Dst:             store_syslogpri
        - Src:             './defaults.c:270,8'
          Dst:             valid_path
        - Src:             './defaults.c:275,11'
          Dst:             store_str
        - Src:             './defaults.c:278,11'
          Dst:             store_int
        - Src:             './defaults.c:281,11'
          Dst:             store_uint
        - Src:             './defaults.c:284,11'
          Dst:             store_mode
        - Src:             './defaults.c:288,3'
          Dst:             defaults_warnx
        - Src:             './defaults.c:297,11'
          Dst:             store_list
        - Src:             './defaults.c:300,11'
          Dst:             store_timeout
        - Src:             './defaults.c:303,11'
          Dst:             store_tuple
        - Src:             './defaults.c:306,11'
          Dst:             store_timespec
        - Src:             './defaults.c:309,11'
          Dst:             store_plugin
        - Src:             './defaults.c:312,11'
          Dst:             store_rlimit
        - Src:             './defaults.c:315,6'
          Dst:             defaults_warnx
        - Src:             './defaults.c:322,2'
          Dst:             defaults_warnx
    - functionName:    free_defs_val
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - list_op
      functionUses:    2
      BranchProfiles:
        - Branch String:   './defaults.c:430,5'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:436,12'
          Dst:             list_op
    - functionName:    store_syslogfac
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1115
      functionLinenumberEnd: 1123
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_str2logfac_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1122,5'
          Dst:             sudo_str2logfac_v1
    - functionName:    store_syslogpri
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1127
      functionLinenumberEnd: 1135
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_str2logpri_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1134,5'
          Dst:             sudo_str2logpri_v1
    - functionName:    store_tuple
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1015
      functionLinenumberEnd: 1047
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          149
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1038,10'
          Dst:             strcmp
    - functionName:    run_early_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 424
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          88
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - run_callback
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:418,11'
          Dst:             run_callback
    - functionName:    run_callback
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_early_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      bool
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          129
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - find_default
        - parse_default_entry
        - sudo_rcstr_addref
        - sudo_rcstr_delref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:389,11'
          Dst:             find_default
        - Src:             './defaults.c:393,6'
          Dst:             parse_default_entry
        - Src:             './defaults.c:395,3'
          Dst:             sudo_rcstr_delref
        - Src:             './defaults.c:396,20'
          Dst:             sudo_rcstr_addref
    - functionName:    default_binding_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 756
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          167
      EdgeCount:       38
      CyclomaticComplexity: 5
      functionsReached:
        - cmndlist_matches
        - hostlist_matches
        - runaslist_matches
        - userlist_matches
      functionUses:    2
      BranchProfiles:
        - Branch String:   './defaults.c:735,5'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:739,6'
          Dst:             userlist_matches
        - Src:             './defaults.c:743,6'
          Dst:             runaslist_matches
        - Src:             './defaults.c:747,6'
          Dst:             hostlist_matches
        - Src:             './defaults.c:751,6'
          Dst:             cmndlist_matches
    - functionName:    default_type_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 723
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          138
      EdgeCount:       38
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './defaults.c:700,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    is_early_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 331
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:336,6'
          Dst:             strcmp
    - functionName:    update_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 766
      functionLinenumberEnd: 826
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          249
      EdgeCount:       59
      CyclomaticComplexity: 16
      functionsReached:
        - default_binding_matches
        - default_type_matches
        - is_early_default
        - run_early_defaults
        - set_default
        - set_early_default
        - sudo_debug_printf2_v1
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:772,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './defaults.c:786,36'
          Dst:             is_early_default
        - Src:             './defaults.c:791,11'
          Dst:             default_type_matches
        - Src:             './defaults.c:792,4'
          Dst:             default_binding_matches
        - Src:             './defaults.c:796,11'
          Dst:             set_early_default
        - Src:             './defaults.c:802,7'
          Dst:             run_early_defaults
        - Src:             './defaults.c:812,10'
          Dst:             is_early_default
        - Src:             './defaults.c:817,7'
          Dst:             default_type_matches
        - Src:             './defaults.c:818,7'
          Dst:             default_binding_matches
        - Src:             './defaults.c:822,7'
          Dst:             set_default
    - functionName:    set_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      bool
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          119
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - find_default
        - parse_default_entry
        - run_callback
        - sudo_debug_printf2_v1
      functionUses:    46
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:364,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './defaults.c:367,11'
          Dst:             find_default
        - Src:             './defaults.c:371,6'
          Dst:             parse_default_entry
        - Src:             './defaults.c:372,6'
          Dst:             run_callback
    - functionName:    init_passprompt_regex
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          76
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - strdup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:449,10'
          Dst:             calloc
        - Src:             './defaults.c:450,36'
          Dst:             strdup
        - Src:             './defaults.c:452,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:452,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:452,2'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    init_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 689
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         57
      ICount:          294
      EdgeCount:       78
      CyclomaticComplexity: 23
      functionsReached:
        - dgettext
        - free_defs_val
        - init_envtables
        - init_eventlog_config
        - init_passprompt_regex
        - store_syslogfac
        - store_syslogpri
        - store_tuple
        - strdup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_initlocale
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:474,6'
          Dst:             free_defs_val
        - Src:             './defaults.c:536,27'
          Dst:             strdup
        - Src:             './defaults.c:538,26'
          Dst:             strdup
        - Src:             './defaults.c:540,31'
          Dst:             strdup
        - Src:             './defaults.c:549,28'
          Dst:             strdup
        - Src:             './defaults.c:555,34'
          Dst:             strdup
        - Src:             './defaults.c:570,28'
          Dst:             strdup
        - Src:             './defaults.c:587,12'
          Dst:             store_syslogfac
        - Src:             './defaults.c:588,12'
          Dst:             store_syslogpri
        - Src:             './defaults.c:589,12'
          Dst:             store_syslogpri
        - Src:             './defaults.c:593,12'
          Dst:             store_tuple
        - Src:             './defaults.c:594,12'
          Dst:             store_tuple
        - Src:             './defaults.c:620,23'
          Dst:             strdup
        - Src:             './defaults.c:622,24'
          Dst:             strdup
        - Src:             './defaults.c:624,39'
          Dst:             dgettext
        - Src:             './defaults.c:624,32'
          Dst:             strdup
        - Src:             './defaults.c:627,35'
          Dst:             strdup
        - Src:             './defaults.c:631,29'
          Dst:             strdup
        - Src:             './defaults.c:634,34'
          Dst:             dgettext
        - Src:             './defaults.c:634,27'
          Dst:             strdup
        - Src:             './defaults.c:636,30'
          Dst:             strdup
        - Src:             './defaults.c:642,28'
          Dst:             strdup
        - Src:             './defaults.c:656,23'
          Dst:             strdup
        - Src:             './defaults.c:668,7'
          Dst:             sudoers_initlocale
        - Src:             './defaults.c:673,10'
          Dst:             init_envtables
        - Src:             './defaults.c:677,5'
          Dst:             init_eventlog_config
        - Src:             './defaults.c:680,10'
          Dst:             init_passprompt_regex
        - Src:             './defaults.c:687,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:687,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:687,5'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    dump_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         56
      ICount:          390
      EdgeCount:       66
      CyclomaticComplexity: 12
      functionsReached:
        - dgettext
        - sudo_logfac2str_v1
        - sudo_logpri2str_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './defaults.c:93,6'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:92,13'
          Dst:             dgettext
        - Src:             './defaults.c:108,8'
          Dst:             sudo_logfac2str_v1
        - Src:             './defaults.c:115,8'
          Dst:             sudo_logpri2str_v1
    - functionName:    expand_tilde
      functionSourceFile: '/src/sudo/plugins/sudoers/./exptilde.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          200
      EdgeCount:       36
      CyclomaticComplexity: 4
      functionsReached:
        - asprintf
        - strchr
        - sudo_getpwnam
        - sudo_pw_delref
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    2
      BranchProfiles:
        - Branch String:   './exptilde.c:44,5'
          Branch Sides:    []
        - Branch String:   './exptilde.c:56,5'
          Branch Sides:    []
      Callsites:
        - Src:             './exptilde.c:67,10'
          Dst:             strchr
        - Src:             './exptilde.c:75,10'
          Dst:             sudo_getpwnam
        - Src:             './exptilde.c:80,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './exptilde.c:80,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './exptilde.c:84,11'
          Dst:             asprintf
        - Src:             './exptilde.c:85,5'
          Dst:             sudo_pw_delref
        - Src:             './exptilde.c:87,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './exptilde.c:87,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './exptilde.c:87,2'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    parser_leak_free
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 2029
      functionLinenumberEnd: 2111
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         64
      ICount:          353
      EdgeCount:       76
      CyclomaticComplexity: 14
      functionsReached:
        - free_cmndspecs
        - free_defaults
        - free_member
        - free_privilege
        - sudo_warnx_nodebug_v1
      functionUses:    2
      BranchProfiles:
        - Branch String:   'gram.y:2037,2'
          Branch Sides:    []
      Callsites:
        - Src:             'gram.y:2043,7'
          Dst:             free_privilege
        - Src:             'gram.y:2052,3'
          Dst:             free_cmndspecs
        - Src:             'gram.y:2061,3'
          Dst:             free_defaults
        - Src:             'gram.y:2070,7'
          Dst:             free_member
        - Src:             'gram.y:2091,4'
          Dst:             free_member
        - Src:             'gram.y:2095,4'
          Dst:             free_member
        - Src:             'gram.y:2106,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    free_privilege
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1655
      functionLinenumberEnd: 1669
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          95
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - free_cmndspecs
        - free_default
        - free_members
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1660,5'
          Dst:             free_members
        - Src:             'gram.y:1661,5'
          Dst:             free_cmndspecs
        - Src:             'gram.y:1664,2'
          Dst:             free_default
    - functionName:    free_cmndspecs
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1591
      functionLinenumberEnd: 1651
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          316
      EdgeCount:       59
      CyclomaticComplexity: 15
      functionsReached:
        - free_member
        - free_members
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1638,6'
          Dst:             free_members
        - Src:             'gram.y:1643,6'
          Dst:             free_members
        - Src:             'gram.y:1646,2'
          Dst:             free_member
    - functionName:    free_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1500
      functionLinenumberEnd: 1510
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          81
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - free_default
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1506,2'
          Dst:             free_default
    - functionName:    free_member
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1461
      functionLinenumberEnd: 1479
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          145
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_default
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1514
      functionLinenumberEnd: 1524
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          39
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - free_defaults_binding
        - sudo_rcstr_delref
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1517,5'
          Dst:             free_defaults_binding
        - Src:             'gram.y:1518,5'
          Dst:             sudo_rcstr_delref
    - functionName:    free_defaults_binding
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1365
      functionLinenumberEnd: 1377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          50
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - free_members
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1371,6'
          Dst:             free_members
    - functionName:    free_members
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1486
      functionLinenumberEnd: 1496
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          81
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - free_member
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1492,2'
          Dst:             free_member
    - functionName:    sudoers_strict
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1912
      functionLinenumberEnd: 1913
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_error_recovery
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1906
      functionLinenumberEnd: 1907
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_file_mode
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1900
      functionLinenumberEnd: 1901
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_file_gid
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1894
      functionLinenumberEnd: 1895
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_file_uid
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1888
      functionLinenumberEnd: 1889
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reset_parser
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1805
      functionLinenumberEnd: 1806
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - init_parser
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1806,12'
          Dst:             init_parser
    - functionName:    init_parser
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1761
      functionLinenumberEnd: 1800
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          112
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - free_parse_tree
        - init_lexer
        - parser_leak_init
        - sudo_rcstr_delref
        - sudo_rcstr_dup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1765,5'
          Dst:             free_parse_tree
        - Src:             'gram.y:1767,5'
          Dst:             parser_leak_init
        - Src:             'gram.y:1768,5'
          Dst:             init_lexer
        - Src:             'gram.y:1779,5'
          Dst:             sudo_rcstr_delref
        - Src:             'gram.y:1781,17'
          Dst:             sudo_rcstr_dup
        - Src:             'gram.y:1782,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1782,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1782,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'gram.y:1789,5'
          Dst:             sudo_rcstr_delref
        - Src:             'gram.y:1791,24'
          Dst:             sudo_rcstr_dup
        - Src:             'gram.y:1793,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1793,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1793,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    free_parse_tree
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1742
      functionLinenumberEnd: 1753
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - free_aliases
        - free_defaults
        - free_userspecs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1743,5'
          Dst:             free_userspecs
        - Src:             'gram.y:1744,5'
          Dst:             free_defaults
        - Src:             'gram.y:1745,5'
          Dst:             free_aliases
    - functionName:    parser_leak_init
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 2116
      functionLinenumberEnd: 2131
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          35
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - atexit
        - parser_leak_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:2122,2'
          Dst:             atexit
        - Src:             'gram.y:2122,2'
          Dst:             parser_leak_free
        - Src:             'gram.y:2128,5'
          Dst:             parser_leak_free
    - functionName:    atexit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_userspecs
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1673
      functionLinenumberEnd: 1683
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          81
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - free_userspec
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1679,2'
          Dst:             free_userspec
    - functionName:    free_userspec
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1687
      functionLinenumberEnd: 1706
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          142
      EdgeCount:       27
      CyclomaticComplexity: 6
      functionsReached:
        - free_members
        - free_privilege
        - sudo_rcstr_delref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1692,5'
          Dst:             free_members
        - Src:             'gram.y:1695,2'
          Dst:             free_privilege
        - Src:             'gram.y:1702,5'
          Dst:             sudo_rcstr_delref
    - functionName:    reparent_parse_tree
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1730
      functionLinenumberEnd: 1735
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          86
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_parse_tree
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1715
      functionLinenumberEnd: 1723
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          62
      EdgeCount:       9
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_cmndspec
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1528
      functionLinenumberEnd: 1587
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         117
      ICount:          578
      EdgeCount:       156
      CyclomaticComplexity: 41
      functionsReached:
        - free_member
        - free_members
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1572,6'
          Dst:             free_members
        - Src:             'gram.y:1579,6'
          Dst:             free_members
        - Src:             'gram.y:1583,5'
          Dst:             free_member
    - functionName:    yydestruct
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1379
      functionLinenumberEnd: 1388
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_error
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1252
      functionLinenumberEnd: 1272
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - alias_get
        - alias_put
        - alias_type_to_string
        - sudo_warn_gettext_v1
        - sudoerserror
        - sudoerserrorf
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1254,20'
          Dst:             alias_get
        - Src:             'gram.y:1257,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1258,3'
          Dst:             alias_type_to_string
        - Src:             'gram.y:1256,6'
          Dst:             sudoerserrorf
        - Src:             'gram.y:1259,6'
          Dst:             alias_put
        - Src:             'gram.y:1261,10'
          Dst:             __errno_location
        - Src:             'gram.y:1262,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1263,7'
          Dst:             alias_type_to_string
        - Src:             'gram.y:1262,3'
          Dst:             sudoerserrorf
        - Src:             'gram.y:1265,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1266,7'
          Dst:             alias_type_to_string
        - Src:             'gram.y:1265,3'
          Dst:             sudoerserrorf
        - Src:             'gram.y:1270,2'
          Dst:             sudoerserror
    - functionName:    sudoerserrorf
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1166
      functionLinenumberEnd: 1228
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          281
      EdgeCount:       62
      CyclomaticComplexity: 16
      functionsReached:
        - dgettext
        - strcmp
        - sudoers_setlocale
        - vasprintf
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1186,6'
          Dst:             sudoers_setlocale
        - Src:             'gram.y:1189,10'
          Dst:             strcmp
        - Src:             'gram.y:1191,7'
          Dst:             dgettext
        - Src:             'gram.y:1193,26'
          Dst:             dgettext
        - Src:             'gram.y:1193,7'
          Dst:             vasprintf
        - Src:             'gram.y:1196,11'
          Dst:             dgettext
        - Src:             'gram.y:1200,39'
          Dst:             dgettext
        - Src:             'gram.y:1204,6'
          Dst:             sudoers_setlocale
    - functionName:    sudoerserror
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1232
      functionLinenumberEnd: 1248
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sudoerserrorf
      functionUses:    65
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1243,2'
          Dst:             sudoerserrorf
        - Src:             'gram.y:1245,2'
          Dst:             sudoerserrorf
    - 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:    new_command
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1320
      functionLinenumberEnd: 1336
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - sudo_debug_printf2_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1324,14'
          Dst:             calloc
        - Src:             'gram.y:1325,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    init_options
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1814
      functionLinenumberEnd: 1825
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          36
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    new_digest
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1340
      functionLinenumberEnd: 1361
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_debug_printf2_v1
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1345,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             'gram.y:1354,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    propagate_cmndspec
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1832
      functionLinenumberEnd: 1884
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         70
      ICount:          530
      EdgeCount:       94
      CyclomaticComplexity: 26
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    new_member
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1301
      functionLinenumberEnd: 1316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - sudo_debug_printf2_v1
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1305,14'
          Dst:             calloc
        - Src:             'gram.y:1306,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    parser_leak_add
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1918
      functionLinenumberEnd: 1964
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          164
      EdgeCount:       29
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    37
      BranchProfiles:
        - Branch String:   'gram.y:1931,5'
          Branch Sides:    []
      Callsites:
        - Src:             'gram.y:1926,13'
          Dst:             calloc
        - Src:             'gram.y:1928,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1928,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1928,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'gram.y:1955,2'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    new_default
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1276
      functionLinenumberEnd: 1297
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          111
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - sudo_debug_printf2_v1
        - sudo_rcstr_addref
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1280,14'
          Dst:             calloc
        - Src:             'gram.y:1281,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             'gram.y:1293,15'
          Dst:             sudo_rcstr_addref
    - functionName:    add_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1386
      functionLinenumberEnd: 1425
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          197
      EdgeCount:       36
      CyclomaticComplexity: 7
      functionsReached:
        - parser_leak_remove
        - sudo_debug_printf2_v1
        - sudoerserror
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1399,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             'gram.y:1401,2'
          Dst:             sudoerserror
        - Src:             'gram.y:1405,2'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1416,5'
          Dst:             parser_leak_remove
    - functionName:    parser_leak_remove
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1968
      functionLinenumberEnd: 2024
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         47
      ICount:          233
      EdgeCount:       56
      CyclomaticComplexity: 11
      functionsReached:
        - sudo_warnx_nodebug_v1
      functionUses:    80
      BranchProfiles:
        - Branch String:   'gram.y:1977,2'
          Branch Sides:    []
      Callsites:
        - Src:             'gram.y:2007,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'gram.y:2012,5'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    add_userspec
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1433
      functionLinenumberEnd: 1454
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          149
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - parser_leak_remove
        - sudo_debug_printf2_v1
        - sudo_rcstr_addref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1437,14'
          Dst:             calloc
        - Src:             'gram.y:1438,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             'gram.y:1445,15'
          Dst:             sudo_rcstr_addref
        - Src:             'gram.y:1446,5'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1448,5'
          Dst:             parser_leak_remove
    - functionName:    sudoersparse
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1408
      functionLinenumberEnd: 3335
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         494
      ICount:          3838
      EdgeCount:       621
      CyclomaticComplexity: 129
      functionsReached:
        - __errno_location
        - add_defaults
        - add_userspec
        - alias_add
        - alias_error
        - calloc
        - init_options
        - new_command
        - new_default
        - new_digest
        - new_member
        - parse_gentime
        - parse_timeout
        - parser_leak_add
        - parser_leak_remove
        - parser_warnx
        - propagate_cmndspec
        - push_include
        - push_includedir
        - strcmp
        - strlen
        - sudo_warn_gettext_v1
        - sudoerserror
        - sudoerserrorf
        - sudoerslex
        - yydestruct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'gram.c:1646,3'
          Branch Sides:    []
      Callsites:
        - Src:             'gram.c:1561,16'
          Dst:             sudoerslex
        - Src:             'gram.y:222,29'
          Dst:             push_include
        - Src:             'gram.y:224,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:230,29'
          Dst:             push_includedir
        - Src:             'gram.y:232,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:238,13'
          Dst:             add_userspec
        - Src:             'gram.y:239,5'
          Dst:             sudoerserror
        - Src:             'gram.y:256,13'
          Dst:             add_defaults
        - Src:             'gram.y:260,13'
          Dst:             add_defaults
        - Src:             'gram.y:264,13'
          Dst:             add_defaults
        - Src:             'gram.y:268,13'
          Dst:             add_defaults
        - Src:             'gram.y:272,13'
          Dst:             add_defaults
        - Src:             'gram.y:297,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:304,27'
          Dst:             new_default
        - Src:             'gram.y:306,5'
          Dst:             sudoerserror
        - Src:             'gram.y:309,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:310,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:313,27'
          Dst:             new_default
        - Src:             'gram.y:315,5'
          Dst:             sudoerserror
        - Src:             'gram.y:318,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:319,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:322,27'
          Dst:             new_default
        - Src:             'gram.y:324,5'
          Dst:             sudoerserror
        - Src:             'gram.y:327,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:328,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:329,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:332,27'
          Dst:             new_default
        - Src:             'gram.y:334,5'
          Dst:             sudoerserror
        - Src:             'gram.y:337,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:338,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:339,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:342,27'
          Dst:             new_default
        - Src:             'gram.y:344,5'
          Dst:             sudoerserror
        - Src:             'gram.y:347,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:348,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:349,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:355,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:366,30'
          Dst:             calloc
        - Src:             'gram.y:368,5'
          Dst:             sudoerserror
        - Src:             'gram.y:371,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:373,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:375,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:393,25'
          Dst:             new_member
        - Src:             'gram.y:395,5'
          Dst:             sudoerserror
        - Src:             'gram.y:398,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:399,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:402,25'
          Dst:             new_member
        - Src:             'gram.y:404,5'
          Dst:             sudoerserror
        - Src:             'gram.y:407,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:410,25'
          Dst:             new_member
        - Src:             'gram.y:412,5'
          Dst:             sudoerserror
        - Src:             'gram.y:415,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:416,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:419,25'
          Dst:             new_member
        - Src:             'gram.y:421,5'
          Dst:             sudoerserror
        - Src:             'gram.y:424,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:425,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:428,25'
          Dst:             new_member
        - Src:             'gram.y:430,5'
          Dst:             sudoerserror
        - Src:             'gram.y:433,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:434,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:442,8'
          Dst:             propagate_cmndspec
        - Src:             'gram.y:443,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:450,30'
          Dst:             calloc
        - Src:             'gram.y:452,5'
          Dst:             sudoerserror
        - Src:             'gram.y:455,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:462,6'
          Dst:             sudoerserror
        - Src:             'gram.y:474,6'
          Dst:             sudoerserror
        - Src:             'gram.y:481,5'
          Dst:             parser_leak_remove
        - Src:             'gram.y:485,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:487,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:489,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:491,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:493,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:498,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:500,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:503,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:514,25'
          Dst:             new_digest
        - Src:             'gram.y:516,5'
          Dst:             sudoerserror
        - Src:             'gram.y:519,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:520,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:523,25'
          Dst:             new_digest
        - Src:             'gram.y:525,5'
          Dst:             sudoerserror
        - Src:             'gram.y:528,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:529,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:532,25'
          Dst:             new_digest
        - Src:             'gram.y:534,5'
          Dst:             sudoerserror
        - Src:             'gram.y:537,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:538,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:541,25'
          Dst:             new_digest
        - Src:             'gram.y:543,5'
          Dst:             sudoerserror
        - Src:             'gram.y:546,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:547,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:553,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:567,5'
          Dst:             sudoerserror
        - Src:             'gram.y:570,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:588,9'
          Dst:             strcmp
        - Src:             'gram.y:589,9'
          Dst:             sudoerserror
        - Src:             'gram.y:594,12'
          Dst:             strlen
        - Src:             'gram.y:595,5'
          Dst:             sudoerserror
        - Src:             'gram.y:604,9'
          Dst:             strcmp
        - Src:             'gram.y:605,9'
          Dst:             sudoerserror
        - Src:             'gram.y:610,12'
          Dst:             strlen
        - Src:             'gram.y:611,5'
          Dst:             sudoerserror
        - Src:             'gram.y:615,5'
          Dst:             sudoerserror
        - Src:             'gram.y:618,5'
          Dst:             parser_warnx
        - Src:             'gram.y:672,24'
          Dst:             calloc
        - Src:             'gram.y:674,33'
          Dst:             new_member
        - Src:             'gram.y:682,5'
          Dst:             sudoerserror
        - Src:             'gram.y:685,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:689,24'
          Dst:             calloc
        - Src:             'gram.y:691,5'
          Dst:             sudoerserror
        - Src:             'gram.y:694,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:695,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:704,24'
          Dst:             calloc
        - Src:             'gram.y:706,5'
          Dst:             sudoerserror
        - Src:             'gram.y:709,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:710,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:711,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:717,24'
          Dst:             calloc
        - Src:             'gram.y:719,33'
          Dst:             new_member
        - Src:             'gram.y:726,5'
          Dst:             sudoerserror
        - Src:             'gram.y:729,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:730,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:735,24'
          Dst:             calloc
        - Src:             'gram.y:737,33'
          Dst:             new_member
        - Src:             'gram.y:745,5'
          Dst:             sudoerserror
        - Src:             'gram.y:748,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:766,22'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:766,8'
          Dst:             sudoerserrorf
        - Src:             'gram.y:772,8'
          Dst:             init_options
        - Src:             'gram.y:775,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:780,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:785,36'
          Dst:             parse_gentime
        - Src:             'gram.y:786,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:789,5'
          Dst:             sudoerserror
        - Src:             'gram.y:794,35'
          Dst:             parse_gentime
        - Src:             'gram.y:795,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:798,5'
          Dst:             sudoerserror
        - Src:             'gram.y:803,34'
          Dst:             parse_timeout
        - Src:             'gram.y:804,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:807,9'
          Dst:             __errno_location
        - Src:             'gram.y:808,9'
          Dst:             sudoerserror
        - Src:             'gram.y:810,9'
          Dst:             sudoerserror
        - Src:             'gram.y:815,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:820,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:825,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:830,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:835,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:897,17'
          Dst:             new_command
        - Src:             'gram.y:898,5'
          Dst:             sudoerserror
        - Src:             'gram.y:901,25'
          Dst:             new_member
        - Src:             'gram.y:903,5'
          Dst:             sudoerserror
        - Src:             'gram.y:906,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:909,25'
          Dst:             new_member
        - Src:             'gram.y:911,5'
          Dst:             sudoerserror
        - Src:             'gram.y:914,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:915,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:920,12'
          Dst:             strlen
        - Src:             'gram.y:921,5'
          Dst:             sudoerserror
        - Src:             'gram.y:924,17'
          Dst:             new_command
        - Src:             'gram.y:925,5'
          Dst:             sudoerserror
        - Src:             'gram.y:928,25'
          Dst:             new_member
        - Src:             'gram.y:931,5'
          Dst:             sudoerserror
        - Src:             'gram.y:934,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:935,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:936,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:939,12'
          Dst:             strcmp
        - Src:             'gram.y:942,14'
          Dst:             new_command
        - Src:             'gram.y:943,9'
          Dst:             sudoerserror
        - Src:             'gram.y:946,22'
          Dst:             new_member
        - Src:             'gram.y:949,9'
          Dst:             sudoerserror
        - Src:             'gram.y:952,5'
          Dst:             parser_leak_remove
        - Src:             'gram.y:953,5'
          Dst:             parser_leak_add
        - Src:             'gram.y:955,5'
          Dst:             sudoerserror
        - Src:             'gram.y:969,13'
          Dst:             alias_add
        - Src:             'gram.y:971,48'
          Dst:             __errno_location
        - Src:             'gram.y:971,5'
          Dst:             alias_error
        - Src:             'gram.y:974,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:975,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:982,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:996,13'
          Dst:             alias_add
        - Src:             'gram.y:998,48'
          Dst:             __errno_location
        - Src:             'gram.y:998,5'
          Dst:             alias_error
        - Src:             'gram.y:1001,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1002,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1009,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1023,13'
          Dst:             alias_add
        - Src:             'gram.y:1025,49'
          Dst:             __errno_location
        - Src:             'gram.y:1025,5'
          Dst:             alias_error
        - Src:             'gram.y:1028,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1029,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1042,13'
          Dst:             alias_add
        - Src:             'gram.y:1044,48'
          Dst:             __errno_location
        - Src:             'gram.y:1044,5'
          Dst:             alias_error
        - Src:             'gram.y:1047,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1048,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1055,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1072,25'
          Dst:             new_member
        - Src:             'gram.y:1074,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1077,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1078,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1081,25'
          Dst:             new_member
        - Src:             'gram.y:1083,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1086,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1089,25'
          Dst:             new_member
        - Src:             'gram.y:1091,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1094,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1095,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1098,25'
          Dst:             new_member
        - Src:             'gram.y:1100,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1103,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1104,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1107,25'
          Dst:             new_member
        - Src:             'gram.y:1109,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1112,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1113,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1119,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1136,25'
          Dst:             new_member
        - Src:             'gram.y:1138,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1141,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1142,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1145,25'
          Dst:             new_member
        - Src:             'gram.y:1147,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1150,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1153,25'
          Dst:             new_member
        - Src:             'gram.y:1155,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1158,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1159,8'
          Dst:             parser_leak_add
        - Src:             'gram.c:3192,7'
          Dst:             sudoerserror
        - Src:             'gram.c:3208,11'
          Dst:             yydestruct
        - Src:             'gram.c:3264,7'
          Dst:             yydestruct
        - Src:             'gram.c:3303,3'
          Dst:             sudoerserror
        - Src:             'gram.c:3317,7'
          Dst:             yydestruct
        - Src:             'gram.c:3326,7'
          Dst:             yydestruct
    - functionName:    valid_domain
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 684
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          118
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_getdomainname
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 691
      functionLinenumberEnd: 720
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          83
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - getdomainname
        - sudo_debug_printf2_v1
        - sudo_host_name_max_v1
        - valid_domain
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:697,31'
          Dst:             sudo_host_name_max_v1
        - Src:             './match.c:706,11'
          Dst:             getdomainname
        - Src:             './match.c:708,23'
          Dst:             valid_domain
        - Src:             './match.c:715,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    getdomainname
      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:    group_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 604
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          123
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - strcasecmp
        - strcmp
        - sudo_debug_printf2_v1
        - sudo_strtoid_v2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:587,16'
          Dst:             sudo_strtoid_v2
        - Src:             './match.c:594,6'
          Dst:             strcasecmp
        - Src:             './match.c:597,6'
          Dst:             strcmp
        - Src:             './match.c:601,5'
          Dst:             sudo_debug_printf2_v1
    - 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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmnd_matches_all
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          177
      EdgeCount:       33
      CyclomaticComplexity: 7
      functionsReached:
        - alias_get
        - alias_put
        - cmnd_matches_all
        - command_matches
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match.c:494,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:497,10'
          Dst:             command_matches
        - Src:             './match.c:502,10'
          Dst:             alias_get
        - Src:             './match.c:505,17'
          Dst:             cmnd_matches_all
        - Src:             './match.c:512,3'
          Dst:             alias_put
    - functionName:    cmnd_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 448
      functionLinenumberEnd: 477
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          164
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - alias_get
        - alias_put
        - cmndlist_matches
        - command_matches
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match.c:454,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:458,10'
          Dst:             command_matches
        - Src:             './match.c:463,10'
          Dst:             alias_get
        - Src:             './match.c:465,8'
          Dst:             cmndlist_matches
        - Src:             './match.c:473,3'
          Dst:             alias_put
    - functionName:    cmndlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 439
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          98
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - cmnd_matches
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:434,12'
          Dst:             cmnd_matches
    - functionName:    hostname_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 524
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          86
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - fnmatch
        - strcasecmp
        - strchr
        - strpbrk
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:529,12'
          Dst:             strchr
        - Src:             './match.c:531,9'
          Dst:             strpbrk
        - Src:             './match.c:532,6'
          Dst:             fnmatch
        - Src:             './match.c:535,6'
          Dst:             strcasecmp
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    host_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          265
      EdgeCount:       47
      CyclomaticComplexity: 10
      functionsReached:
        - addr_matches
        - alias_get
        - alias_put
        - hostlist_matches_int
        - hostname_matches
        - netgr_matches
        - sudo_debug_printf2_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match.c:378,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:383,10'
          Dst:             netgr_matches
        - Src:             './match.c:388,10'
          Dst:             addr_matches
        - Src:             './match.c:392,10'
          Dst:             alias_get
        - Src:             './match.c:395,18'
          Dst:             hostlist_matches_int
        - Src:             './match.c:404,3'
          Dst:             alias_put
        - Src:             './match.c:409,10'
          Dst:             hostname_matches
        - Src:             './match.c:413,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    netgr_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 739
      functionLinenumberEnd: 797
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          263
      EdgeCount:       64
      CyclomaticComplexity: 14
      functionsReached:
        - innetgr
        - sudo_debug_printf2_v1
        - sudo_getdomainname
      functionUses:    3
      BranchProfiles:
        - Branch String:   './match.c:761,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:745,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:751,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:757,14'
          Dst:             sudo_getdomainname
        - Src:             './match.c:779,9'
          Dst:             innetgr
        - Src:             './match.c:782,6'
          Dst:             innetgr
        - Src:             './match.c:791,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    hostlist_matches_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          89
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - host_matches
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:343,12'
          Dst:             host_matches
    - functionName:    innetgr
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hostlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - hostlist_matches_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:362,12'
          Dst:             hostlist_matches_int
    - functionName:    runas_grouplist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          302
      EdgeCount:       65
      CyclomaticComplexity: 15
      functionsReached:
        - alias_get
        - alias_put
        - group_matches
        - runas_getgroups
        - runas_grouplist_matches
        - sudo_gidlist_delref
      functionUses:    2
      BranchProfiles:
        - Branch String:   './match.c:231,6'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:236,11'
          Dst:             alias_get
        - Src:             './match.c:238,19'
          Dst:             runas_grouplist_matches
        - Src:             './match.c:247,4'
          Dst:             alias_put
        - Src:             './match.c:252,11'
          Dst:             group_matches
        - Src:             './match.c:266,29'
          Dst:             runas_getgroups
        - Src:             './match.c:275,6'
          Dst:             sudo_gidlist_delref
    - functionName:    runas_getgroups
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_get_gidlist
        - sudo_gidlist_addref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:135,2'
          Dst:             sudo_gidlist_addref
        - Src:             './match.c:141,5'
          Dst:             sudo_get_gidlist
    - functionName:    runas_userlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         59
      ICount:          392
      EdgeCount:       73
      CyclomaticComplexity: 16
      functionsReached:
        - alias_get
        - alias_put
        - netgr_matches
        - runas_userlist_matches
        - strcmp
        - usergr_matches
        - userpw_matches
      functionUses:    2
      BranchProfiles:
        - Branch String:   './match.c:163,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:168,7'
          Dst:             netgr_matches
        - Src:             './match.c:175,7'
          Dst:             usergr_matches
        - Src:             './match.c:179,7'
          Dst:             alias_get
        - Src:             './match.c:181,22'
          Dst:             runas_userlist_matches
        - Src:             './match.c:190,7'
          Dst:             alias_put
        - Src:             './match.c:195,7'
          Dst:             userpw_matches
        - Src:             './match.c:206,4'
          Dst:             strcmp
    - functionName:    usergr_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 613
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          173
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - group_plugin_query
        - sudo_debug_printf2_v1
        - sudo_getpwnam
        - sudo_pw_delref
        - user_in_group
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:620,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:627,6'
          Dst:             group_plugin_query
        - Src:             './match.c:634,13'
          Dst:             sudo_getpwnam
        - Src:             './match.c:635,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:642,9'
          Dst:             user_in_group
        - Src:             './match.c:649,6'
          Dst:             group_plugin_query
        - Src:             './match.c:657,2'
          Dst:             sudo_pw_delref
        - Src:             './match.c:659,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    userpw_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          126
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - strcasecmp
        - strcmp
        - sudo_debug_printf2_v1
        - sudo_strtoid_v2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:554,16'
          Dst:             sudo_strtoid_v2
        - Src:             './match.c:561,6'
          Dst:             strcasecmp
        - Src:             './match.c:564,6'
          Dst:             strcmp
        - Src:             './match.c:568,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    runaslist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 292
      functionLinenumberEnd: 327
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          228
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - runas_grouplist_matches
        - runas_userlist_matches
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:308,20'
          Dst:             runas_userlist_matches
        - Src:             './match.c:310,18'
          Dst:             runas_grouplist_matches
        - Src:             './match.c:317,10'
          Dst:             strcmp
    - functionName:    userlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          83
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - user_matches
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:121,12'
          Dst:             user_matches
    - functionName:    user_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          292
      EdgeCount:       55
      CyclomaticComplexity: 12
      functionsReached:
        - alias_get
        - alias_put
        - netgr_matches
        - usergr_matches
        - userlist_matches
        - userpw_matches
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match.c:71,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:76,10'
          Dst:             netgr_matches
        - Src:             './match.c:82,10'
          Dst:             usergr_matches
        - Src:             './match.c:86,15'
          Dst:             alias_get
        - Src:             './match.c:88,18'
          Dst:             userlist_matches
        - Src:             './match.c:96,3'
          Dst:             alias_put
        - Src:             './match.c:101,10'
          Dst:             userpw_matches
    - functionName:    addr_matches_if
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          234
      EdgeCount:       57
      CyclomaticComplexity: 11
      functionsReached:
        - get_interfaces
        - inet_pton
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match_addr.c:67,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match_addr.c:54,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:58,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:64,5'
          Dst:             get_interfaces
        - Src:             './match_addr.c:76,7'
          Dst:             memcmp
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    addr_matches_if_netmask
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         74
      ICount:          380
      EdgeCount:       90
      CyclomaticComplexity: 18
      functionsReached:
        - get_interfaces
        - htonl
        - inet_pton
        - strchr
        - sudo_debug_printf2_v1
        - sudo_strtonum
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match_addr.c:160,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match_addr.c:107,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:111,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:118,6'
          Dst:             strchr
        - Src:             './match_addr.c:119,10'
          Dst:             inet_pton
        - Src:             './match_addr.c:120,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_addr.c:125,18'
          Dst:             sudo_strtonum
        - Src:             './match_addr.c:127,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_addr.c:131,24'
          Dst:             htonl
        - Src:             './match_addr.c:137,6'
          Dst:             inet_pton
        - Src:             './match_addr.c:138,18'
          Dst:             sudo_strtonum
        - Src:             './match_addr.c:140,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_addr.c:157,5'
          Dst:             get_interfaces
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    addr_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - addr_matches_if
        - addr_matches_if_netmask
        - strchr
        - sudo_debug_printf2_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_addr.c:193,14'
          Dst:             strchr
        - Src:             './match_addr.c:195,8'
          Dst:             addr_matches_if_netmask
        - Src:             './match_addr.c:198,8'
          Dst:             addr_matches_if
        - Src:             './match_addr.c:200,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    command_matches_dir
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          138
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - close
        - digest_matches
        - open_cmnd
        - set_cmnd_fd
        - strchr
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:334,9'
          Dst:             strncmp
        - Src:             './match_command.c:338,9'
          Dst:             strchr
        - Src:             './match_command.c:342,10'
          Dst:             open_cmnd
        - Src:             './match_command.c:344,9'
          Dst:             digest_matches
        - Src:             './match_command.c:346,5'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:351,2'
          Dst:             close
    - functionName:    open_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          182
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - fcntl
        - open
        - snprintf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:183,6'
          Dst:             snprintf
        - Src:             './match_command.c:185,6'
          Dst:             __errno_location
        - Src:             './match_command.c:191,10'
          Dst:             open
        - Src:             './match_command.c:193,21'
          Dst:             __errno_location
        - Src:             './match_command.c:195,26'
          Dst:             __errno_location
        - Src:             './match_command.c:196,12'
          Dst:             open
        - Src:             './match_command.c:197,6'
          Dst:             __errno_location
        - Src:             './match_command.c:203,11'
          Dst:             fcntl
    - functionName:    set_cmnd_fd
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          109
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - close
        - fcntl
        - is_script
        - snprintf
        - stat
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:214,2'
          Dst:             close
        - Src:             './match_command.c:219,6'
          Dst:             close
        - Src:             './match_command.c:221,13'
          Dst:             is_script
        - Src:             './match_command.c:227,12'
          Dst:             snprintf
        - Src:             './match_command.c:228,10'
          Dst:             stat
        - Src:             './match_command.c:230,3'
          Dst:             close
        - Src:             './match_command.c:237,11'
          Dst:             fcntl
        - Src:             './match_command.c:238,9'
          Dst:             fcntl
    - functionName:    is_script
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - pread
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:156,9'
          Dst:             pread
    - functionName:    pread
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - regexec
        - regfree
        - sudo_debug_printf2_v1
        - sudo_regex_compile_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:63,10'
          Dst:             sudo_regex_compile_v1
        - Src:             './match_command.c:64,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_command.c:70,9'
          Dst:             regexec
        - Src:             './match_command.c:74,5'
          Dst:             regfree
    - 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:    1
      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:    command_matches_normal
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 813
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          171
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - close
        - command_args_match
        - command_matches_dir
        - digest_matches
        - open_cmnd
        - set_cmnd_fd
        - strcmp
        - strdup
        - strlen
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:784,12'
          Dst:             strlen
        - Src:             './match_command.c:786,2'
          Dst:             command_matches_dir
        - Src:             './match_command.c:790,9'
          Dst:             strcmp
        - Src:             './match_command.c:791,6'
          Dst:             command_args_match
        - Src:             './match_command.c:793,11'
          Dst:             open_cmnd
        - Src:             './match_command.c:795,10'
          Dst:             digest_matches
        - Src:             './match_command.c:800,29'
          Dst:             strdup
        - Src:             './match_command.c:801,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:802,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:801,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_command.c:805,6'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:811,2'
          Dst:             close
    - functionName:    command_args_match
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          185
      EdgeCount:       44
      CyclomaticComplexity: 10
      functionsReached:
        - fnmatch
        - regex_matches
        - strcmp
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:93,9'
          Dst:             strcmp
        - Src:             './match_command.c:101,15'
          Dst:             strlen
        - Src:             './match_command.c:103,6'
          Dst:             regex_matches
        - Src:             './match_command.c:107,9'
          Dst:             strcmp
        - Src:             './match_command.c:109,9'
          Dst:             fnmatch
    - functionName:    command_matches_glob
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 769
      functionLinenumberEnd: 771
      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:
        - command_matches_fnmatch
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:770,12'
          Dst:             command_matches_fnmatch
    - functionName:    command_matches_fnmatch
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 401
      functionLinenumberEnd: 454
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          220
      EdgeCount:       52
      CyclomaticComplexity: 12
      functionsReached:
        - close
        - command_args_match
        - digest_matches
        - fnmatch
        - open_cmnd
        - set_cmnd_fd
        - snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:421,27'
          Dst:             fnmatch
        - Src:             './match_command.c:425,8'
          Dst:             snprintf
        - Src:             './match_command.c:430,6'
          Dst:             fnmatch
        - Src:             './match_command.c:434,9'
          Dst:             command_args_match
        - Src:             './match_command.c:436,7'
          Dst:             open_cmnd
        - Src:             './match_command.c:443,6'
          Dst:             digest_matches
        - Src:             './match_command.c:445,2'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:451,6'
          Dst:             close
    - functionName:    command_matches_regex
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 460
      functionLinenumberEnd: 511
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          220
      EdgeCount:       52
      CyclomaticComplexity: 12
      functionsReached:
        - close
        - command_args_match
        - digest_matches
        - open_cmnd
        - regex_matches
        - set_cmnd_fd
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:478,27'
          Dst:             regex_matches
        - Src:             './match_command.c:482,8'
          Dst:             snprintf
        - Src:             './match_command.c:487,6'
          Dst:             regex_matches
        - Src:             './match_command.c:491,9'
          Dst:             command_args_match
        - Src:             './match_command.c:493,7'
          Dst:             open_cmnd
        - Src:             './match_command.c:500,6'
          Dst:             digest_matches
        - Src:             './match_command.c:502,2'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:508,6'
          Dst:             close
    - functionName:    command_matches_all
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 359
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          97
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - digest_matches
        - open_cmnd
        - set_cmnd_fd
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:366,9'
          Dst:             strchr
        - Src:             './match_command.c:380,8'
          Dst:             open_cmnd
        - Src:             './match_command.c:385,9'
          Dst:             digest_matches
        - Src:             './match_command.c:387,5'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:393,2'
          Dst:             close
    - functionName:    command_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 825
      functionLinenumberEnd: 931
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          464
      EdgeCount:       103
      CyclomaticComplexity: 28
      functionsReached:
        - command_args_match
        - command_matches_all
        - command_matches_fnmatch
        - command_matches_glob
        - command_matches_normal
        - command_matches_regex
        - set_cmnd_path
        - strcmp
        - strpbrk
        - sudo_debug_printf2_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:832,27'
          Dst:             strcmp
        - Src:             './match_command.c:833,3'
          Dst:             strcmp
        - Src:             './match_command.c:841,31'
          Dst:             strcmp
        - Src:             './match_command.c:852,11'
          Dst:             set_cmnd_path
        - Src:             './match_command.c:863,8'
          Dst:             command_matches_all
        - Src:             './match_command.c:869,8'
          Dst:             command_matches_regex
        - Src:             './match_command.c:882,6'
          Dst:             strcmp
        - Src:             './match_command.c:883,3'
          Dst:             strcmp
        - Src:             './match_command.c:884,10'
          Dst:             strcmp
        - Src:             './match_command.c:885,7'
          Dst:             command_args_match
        - Src:             './match_command.c:893,9'
          Dst:             strpbrk
        - Src:             './match_command.c:899,12'
          Dst:             command_matches_fnmatch
        - Src:             './match_command.c:902,12'
          Dst:             command_matches_glob
        - Src:             './match_command.c:906,8'
          Dst:             command_matches_normal
        - Src:             './match_command.c:924,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    digest_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_digest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          356
      EdgeCount:       72
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - close
        - digest_type_to_name
        - lseek
        - memcmp
        - open
        - snprintf
        - strlen
        - sudo_base64_decode_v1
        - sudo_debug_printf2_v1
        - sudo_filedigest
        - sudo_hexchar_v1
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './match_digest.c:59,13'
          Dst:             snprintf
        - Src:             './match_digest.c:61,13'
          Dst:             __errno_location
        - Src:             './match_digest.c:62,13'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './match_digest.c:69,15'
          Dst:             open
        - Src:             './match_digest.c:81,20'
          Dst:             sudo_filedigest
        - Src:             './match_digest.c:83,10'
          Dst:             lseek
        - Src:             './match_digest.c:84,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_digest.c:98,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:98,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:98,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_digest.c:101,6'
          Dst:             strlen
        - Src:             './match_digest.c:105,17'
          Dst:             sudo_hexchar_v1
        - Src:             './match_digest.c:112,19'
          Dst:             sudo_base64_decode_v1
        - Src:             './match_digest.c:118,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:117,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_digest.c:123,6'
          Dst:             memcmp
        - Src:             './match_digest.c:128,2'
          Dst:             digest_type_to_name
        - Src:             './match_digest.c:128,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_digest.c:137,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:138,22'
          Dst:             digest_type_to_name
        - Src:             './match_digest.c:137,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_digest.c:141,2'
          Dst:             close
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parser_warnx
      functionSourceFile: '/src/sudo/plugins/sudoers/./parser_warnx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      bool
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          63
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - parser_vwarnx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './parser_warnx.c:73,11'
          Dst:             parser_vwarnx
    - functionName:    parser_vwarnx
      functionSourceFile: '/src/sudo/plugins/sudoers/./parser_warnx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      bool
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
        - bool
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          142
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - dgettext
        - sudoers_setlocale
        - vasprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './parser_warnx.c:46,2'
          Dst:             sudoers_setlocale
        - Src:             './parser_warnx.c:47,25'
          Dst:             dgettext
        - Src:             './parser_warnx.c:47,6'
          Dst:             vasprintf
        - Src:             './parser_warnx.c:51,39'
          Dst:             dgettext
        - Src:             './parser_warnx.c:54,39'
          Dst:             dgettext
        - Src:             './parser_warnx.c:56,2'
          Dst:             sudoers_setlocale
    - functionName:    user_shell_valid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1212
      functionLinenumberEnd: 1219
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    user_in_group
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1115
      functionLinenumberEnd: 1204
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         63
      ICount:          332
      EdgeCount:       83
      CyclomaticComplexity: 22
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_get_gidlist
        - sudo_get_grlist
        - sudo_getgrnam
        - sudo_gidlist_delref
        - sudo_gr_delref
        - sudo_grlist_delref
        - sudo_strtoid_v2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:1128,22'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil.c:1130,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:1137,21'
          Dst:             sudo_get_gidlist
        - Src:             './pwutil.c:1157,13'
          Dst:             sudo_getgrnam
        - Src:             './pwutil.c:1169,21'
          Dst:             sudo_get_gidlist
        - Src:             './pwutil.c:1178,26'
          Dst:             sudo_get_grlist
        - Src:             './pwutil.c:1196,2'
          Dst:             sudo_gr_delref
        - Src:             './pwutil.c:1198,2'
          Dst:             sudo_grlist_delref
        - Src:             './pwutil.c:1200,2'
          Dst:             sudo_gidlist_delref
        - Src:             './pwutil.c:1202,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_get_gidlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1002
      functionLinenumberEnd: 1059
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          230
      EdgeCount:       41
      CyclomaticComplexity: 8
      functionsReached:
        - cmp_gidlist
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    6
      BranchProfiles:
        - Branch String:   './pwutil.c:1034,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:1007,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:1011,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:1011,18'
          Dst:             cmp_gidlist
        - Src:             './pwutil.c:1013,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1013,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1013,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1021,17'
          Dst:             rbfind
        - Src:             './pwutil.c:1033,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:1034,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:1037,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1037,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1043,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1043,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:1050,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_getgrnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 594
      functionLinenumberEnd: 652
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          252
      EdgeCount:       48
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - calloc
        - cmp_pwnam
        - rbcreate
        - rbfind
        - rbinsert
        - strlen
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    2
      BranchProfiles:
        - Branch String:   './pwutil.c:630,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:600,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:600,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:602,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:602,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:602,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:609,17'
          Dst:             rbfind
        - Src:             './pwutil.c:618,21'
          Dst:             strlen
        - Src:             './pwutil.c:619,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:619,33'
          Dst:             calloc
        - Src:             './pwutil.c:620,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:620,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:629,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:630,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:633,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:633,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:638,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:638,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:644,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_get_grlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 917
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         35
      ICount:          224
      EdgeCount:       41
      CyclomaticComplexity: 8
      functionsReached:
        - cmp_pwnam
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:892,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:866,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:870,17'
          Dst:             rbcreate
        - Src:             './pwutil.c:870,17'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:872,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:872,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:872,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:879,17'
          Dst:             rbfind
        - Src:             './pwutil.c:891,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:892,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:895,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:895,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:901,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:901,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:908,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_gr_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 522
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          24
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_gr_delref_item
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:520,5'
          Dst:             sudo_gr_delref_item
    - functionName:    sudo_grlist_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 832
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          24
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_grlist_delref_item
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:830,5'
          Dst:             sudo_grlist_delref_item
    - functionName:    sudo_gidlist_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 800
      functionLinenumberEnd: 804
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          24
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_gidlist_delref_item
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:802,5'
          Dst:             sudo_gidlist_delref_item
    - functionName:    sudo_gidlist_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 788
      functionLinenumberEnd: 796
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_grlist_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 816
      functionLinenumberEnd: 824
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gr_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 506
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmp_pwnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strcmp
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:145,15'
          Dst:             strcmp
        - Src:             './pwutil.c:147,8'
          Dst:             strcmp
    - functionName:    cmp_gidlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:162,15'
          Dst:             strcmp
        - Src:             './pwutil.c:165,13'
          Dst:             strcmp
    - functionName:    sudo_set_gidlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1064
      functionLinenumberEnd: 1111
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          184
      EdgeCount:       30
      CyclomaticComplexity: 5
      functionsReached:
        - cmp_gidlist
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_group_list
        - sudo_debug_printf2_v1
        - sudo_gidlist_delref_item
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:1094,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:1068,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:1072,5'
          Dst:             sudo_debug_group_list
        - Src:             './pwutil.c:1075,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:1075,18'
          Dst:             cmp_gidlist
        - Src:             './pwutil.c:1077,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1077,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1077,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1088,9'
          Dst:             rbfind
        - Src:             './pwutil.c:1090,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1090,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1093,2'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:1094,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:1096,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1096,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1098,6'
          Dst:             sudo_gidlist_delref_item
        - Src:             './pwutil.c:1101,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1101,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:1102,6'
          Dst:             sudo_gidlist_delref_item
        - Src:             './pwutil.c:1106,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_debug_group_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 922
      functionLinenumberEnd: 949
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          164
      EdgeCount:       37
      CyclomaticComplexity: 9
      functionsReached:
        - snprintf
        - strlen
        - sudo_debug_needed_v1
        - sudo_debug_printf2_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:926,28'
          Dst:             sudo_debug_needed_v1
        - Src:             './pwutil.c:930,9'
          Dst:             strlen
        - Src:             './pwutil.c:937,22'
          Dst:             snprintf
        - Src:             './pwutil.c:944,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_set_grlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 953
      functionLinenumberEnd: 998
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          172
      EdgeCount:       30
      CyclomaticComplexity: 5
      functionsReached:
        - cmp_pwnam
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_group_list
        - sudo_debug_printf2_v1
        - sudo_grlist_delref_item
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    0
      BranchProfiles:
        - Branch String:   './pwutil.c:981,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:957,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:960,5'
          Dst:             sudo_debug_group_list
        - Src:             './pwutil.c:963,17'
          Dst:             rbcreate
        - Src:             './pwutil.c:963,17'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:965,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:965,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:965,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:975,9'
          Dst:             rbfind
        - Src:             './pwutil.c:977,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:977,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:980,2'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:981,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:983,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:983,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:985,6'
          Dst:             sudo_grlist_delref_item
        - Src:             './pwutil.c:988,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:988,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:989,6'
          Dst:             sudo_grlist_delref_item
        - Src:             './pwutil.c:993,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_freegrcache
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 836
      functionLinenumberEnd: 857
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          75
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - rbdestroy
        - sudo_gidlist_delref_item
        - sudo_gr_delref_item
        - sudo_grlist_delref_item
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:840,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:840,2'
          Dst:             sudo_gr_delref_item
        - Src:             './pwutil.c:844,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:844,2'
          Dst:             sudo_gr_delref_item
        - Src:             './pwutil.c:848,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:848,2'
          Dst:             sudo_grlist_delref_item
        - Src:             './pwutil.c:852,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:852,2'
          Dst:             sudo_gidlist_delref_item
    - functionName:    sudo_grlist_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 808
      functionLinenumberEnd: 812
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gidlist_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 784
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fakegrnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 776
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_mkgrent
        - sudo_strtoid_v2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:768,19'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil.c:770,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:775,5'
          Dst:             sudo_mkgrent
    - functionName:    sudo_mkgrent
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 756
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          419
      EdgeCount:       67
      CyclomaticComplexity: 14
      functionsReached:
        - calloc
        - cmp_grgid
        - cmp_pwnam
        - rbcreate
        - rbinsert
        - strlen
        - sudo_gr_delref_item
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:733,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:670,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:670,18'
          Dst:             cmp_grgid
        - Src:             './pwutil.c:672,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:672,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:674,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:674,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:674,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:679,13'
          Dst:             strlen
        - Src:             './pwutil.c:683,11'
          Dst:             strlen
        - Src:             './pwutil.c:697,11'
          Dst:             calloc
        - Src:             './pwutil.c:699,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:699,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:710,19'
          Dst:             strlen
        - Src:             './pwutil.c:733,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:739,3'
          Dst:             sudo_gr_delref_item
        - Src:             './pwutil.c:748,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:748,6'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    cmp_grgid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:490,9'
          Dst:             strcmp
    - functionName:    sudo_getgrgid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          238
      EdgeCount:       48
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - calloc
        - cmp_grgid
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    2
      BranchProfiles:
        - Branch String:   './pwutil.c:563,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:535,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:535,18'
          Dst:             cmp_grgid
        - Src:             './pwutil.c:537,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:537,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:537,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:544,17'
          Dst:             rbfind
        - Src:             './pwutil.c:553,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:553,33'
          Dst:             calloc
        - Src:             './pwutil.c:554,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:554,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:562,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:563,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:566,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:566,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:572,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:572,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:578,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_gr_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 502
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_freepwcache
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          47
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - rbdestroy
        - sudo_pw_delref_item
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:469,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:469,2'
          Dst:             sudo_pw_delref_item
        - Src:             './pwutil.c:473,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:473,2'
          Dst:             sudo_pw_delref_item
    - functionName:    sudo_pw_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fakepwnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_mkpwent
        - sudo_strtoid_v2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:454,19'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil.c:456,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:460,5'
          Dst:             sudo_mkpwent
    - functionName:    sudo_mkpwent
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 442
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          378
      EdgeCount:       53
      CyclomaticComplexity: 11
      functionsReached:
        - calloc
        - cmp_pwnam
        - cmp_pwuid
        - rbcreate
        - rbinsert
        - strlen
        - sudo_debug_printf2_v1
        - sudo_pw_delref_item
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    2
      BranchProfiles:
        - Branch String:   './pwutil.c:420,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:359,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:359,18'
          Dst:             cmp_pwuid
        - Src:             './pwutil.c:361,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:361,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:363,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:363,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:363,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:373,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:377,16'
          Dst:             strlen
        - Src:             './pwutil.c:378,16'
          Dst:             strlen
        - Src:             './pwutil.c:379,17'
          Dst:             strlen
        - Src:             './pwutil.c:388,11'
          Dst:             calloc
        - Src:             './pwutil.c:390,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:390,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:420,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:426,3'
          Dst:             sudo_pw_delref_item
        - Src:             './pwutil.c:435,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:435,6'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    cmp_pwuid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:130,9'
          Dst:             strcmp
    - functionName:    sudo_getpwnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          252
      EdgeCount:       48
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - calloc
        - cmp_pwnam
        - rbcreate
        - rbfind
        - rbinsert
        - strlen
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    6
      BranchProfiles:
        - Branch String:   './pwutil.c:319,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:283,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:283,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:285,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:285,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:285,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:292,17'
          Dst:             rbfind
        - Src:             './pwutil.c:307,21'
          Dst:             strlen
        - Src:             './pwutil.c:308,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:308,33'
          Dst:             calloc
        - Src:             './pwutil.c:309,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:309,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:318,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:319,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:322,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:322,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:327,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:327,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:333,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_getpwuid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          238
      EdgeCount:       48
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - calloc
        - cmp_pwuid
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:246,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:212,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:212,18'
          Dst:             cmp_pwuid
        - Src:             './pwutil.c:214,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:214,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:214,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:221,17'
          Dst:             rbfind
        - Src:             './pwutil.c:236,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:236,33'
          Dst:             calloc
        - Src:             './pwutil.c:237,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:237,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:245,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:246,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:249,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:249,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:255,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:255,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:261,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_pw_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          24
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_pw_delref_item
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:197,5'
          Dst:             sudo_pw_delref_item
    - functionName:    sudo_pw_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pwutil_set_max_groups
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pwutil_get_max_groups
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pwutil_set_backend
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          87
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_valid_shell
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          63
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - endusershell
        - getusershell
        - setusershell
        - strcmp
        - sudo_debug_printf2_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:444,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:447,5'
          Dst:             setusershell
        - Src:             './pwutil_impl.c:448,21'
          Dst:             getusershell
        - Src:             './pwutil_impl.c:449,6'
          Dst:             strcmp
        - Src:             './pwutil_impl.c:452,5'
          Dst:             endusershell
    - functionName:    setusershell
      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:    getusershell
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    endusershell
      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:    sudo_make_grlist_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          270
      EdgeCount:       30
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - calloc
        - strlen
        - sudo_debug_printf2_v1
        - sudo_get_gidlist
        - sudo_getgrgid
        - sudo_gidlist_delref
        - sudo_gr_delref
        - sudo_login_name_max_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:353,34'
          Dst:             sudo_login_name_max_v1
        - Src:             './pwutil_impl.c:363,15'
          Dst:             sudo_get_gidlist
        - Src:             './pwutil_impl.c:365,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:367,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:372,13'
          Dst:             strlen
        - Src:             './pwutil_impl.c:378,20'
          Dst:             calloc
        - Src:             './pwutil_impl.c:379,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:381,2'
          Dst:             sudo_gidlist_delref
        - Src:             './pwutil_impl.c:411,13'
          Dst:             sudo_getgrgid
        - Src:             './pwutil_impl.c:412,12'
          Dst:             strlen
        - Src:             './pwutil_impl.c:416,3'
          Dst:             sudo_gr_delref
        - Src:             './pwutil_impl.c:422,6'
          Dst:             sudo_gr_delref
        - Src:             './pwutil_impl.c:426,5'
          Dst:             sudo_gidlist_delref
    - functionName:    sudo_make_gidlist_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          420
      EdgeCount:       81
      CyclomaticComplexity: 18
      functionsReached:
        - __errno_location
        - calloc
        - reallocarray
        - strlen
        - sudo_debug_printf2_v1
        - sudo_getgrouplist2_v1
        - sudo_pwutil_get_max_groups
        - sudo_strtoid_v2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:257,13'
          Dst:             reallocarray
        - Src:             './pwutil_impl.c:259,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:267,29'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil_impl.c:269,7'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:280,10'
          Dst:             sudo_pwutil_get_max_groups
        - Src:             './pwutil_impl.c:282,13'
          Dst:             reallocarray
        - Src:             './pwutil_impl.c:284,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:289,10'
          Dst:             sudo_getgrouplist2_v1
        - Src:             './pwutil_impl.c:290,11'
          Dst:             sudo_pwutil_get_max_groups
        - Src:             './pwutil_impl.c:293,10'
          Dst:             sudo_getgrouplist2_v1
        - Src:             './pwutil_impl.c:294,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:302,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:307,13'
          Dst:             strlen
        - Src:             './pwutil_impl.c:311,19'
          Dst:             calloc
        - Src:             './pwutil_impl.c:312,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_make_gritem
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         58
      ICount:          407
      EdgeCount:       71
      CyclomaticComplexity: 15
      functionsReached:
        - __errno_location
        - calloc
        - getgrgid
        - getgrnam
        - strlen
        - sudo_debug_printf2_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:174,17'
          Dst:             getgrnam
        - Src:             './pwutil_impl.c:174,40'
          Dst:             getgrgid
        - Src:             './pwutil_impl.c:176,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:182,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:183,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:186,15'
          Dst:             strlen
        - Src:             './pwutil_impl.c:191,11'
          Dst:             strlen
        - Src:             './pwutil_impl.c:193,19'
          Dst:             calloc
        - Src:             './pwutil_impl.c:194,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:211,12'
          Dst:             strlen
        - Src:             './pwutil_impl.c:223,19'
          Dst:             strlen
    - functionName:    getgrnam
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getgrgid
      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:    sudo_make_pwitem
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         70
      ICount:          448
      EdgeCount:       85
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - calloc
        - getpwnam
        - getpwuid
        - strlen
        - sudo_debug_printf2_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:93,17'
          Dst:             getpwnam
        - Src:             './pwutil_impl.c:93,40'
          Dst:             getpwuid
        - Src:             './pwutil_impl.c:95,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:105,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:106,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:110,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:111,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:113,13'
          Dst:             strlen
        - Src:             './pwutil_impl.c:116,11'
          Dst:             strlen
        - Src:             './pwutil_impl.c:119,19'
          Dst:             calloc
        - Src:             './pwutil_impl.c:120,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:146,19'
          Dst:             strlen
    - functionName:    getpwnam
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpwuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rbrepair
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          334
      EdgeCount:       49
      CyclomaticComplexity: 13
      functionsReached:
        - rotate_left
        - rotate_right
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:426,3'
          Dst:             rotate_left
        - Src:             './redblack.c:436,9'
          Dst:             rotate_right
        - Src:             './redblack.c:442,3'
          Dst:             rotate_left
        - Src:             './redblack.c:450,3'
          Dst:             rotate_right
        - Src:             './redblack.c:460,7'
          Dst:             rotate_left
        - Src:             './redblack.c:466,3'
          Dst:             rotate_right
    - functionName:    rotate_left
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          91
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rotate_right
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          91
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rbsuccessor
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          89
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rbdelete
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          231
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - rbrepair
        - rbsuccessor
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:381,6'
          Dst:             rbsuccessor
        - Src:             './redblack.c:393,2'
          Dst:             rbrepair
    - functionName:    rbdestroy_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - rbdestroy_int
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:347,2'
          Dst:             rbdestroy_int
        - Src:             './redblack.c:348,2'
          Dst:             rbdestroy_int
    - functionName:    rbdestroy
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          32
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - rbdestroy_int
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:364,5'
          Dst:             rbdestroy_int
    - functionName:    rbapply_node
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          209
      EdgeCount:       51
      CyclomaticComplexity: 11
      functionsReached:
        - rbapply_node
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:303,15'
          Dst:             rbapply_node
        - Src:             './redblack.c:308,15'
          Dst:             rbapply_node
    - functionName:    rbfind
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rbinsert
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          390
      EdgeCount:       61
      CyclomaticComplexity: 15
      functionsReached:
        - rotate_left
        - rotate_right
        - sudo_debug_printf2_v1
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:192,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './redblack.c:240,7'
          Dst:             rotate_left
        - Src:             './redblack.c:244,3'
          Dst:             rotate_right
        - Src:             './redblack.c:256,7'
          Dst:             rotate_right
        - Src:             './redblack.c:260,3'
          Dst:             rotate_left
    - functionName:    rbcreate
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          99
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_debug_printf2_v1
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:88,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudoers_debug_deregister
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          48
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - sudo_debug_deregister_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_debug.c:126,10'
          Dst:             sudo_debug_deregister_v1
    - functionName:    sudoers_debug_register
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          170
      EdgeCount:       35
      CyclomaticComplexity: 7
      functionsReached:
        - sudo_debug_register_v2
        - sudo_debug_set_active_instance_v1
      functionUses:    2
      BranchProfiles:
        - Branch String:   './sudoers_debug.c:98,5'
          Branch Sides:    []
      Callsites:
        - Src:             './sudoers_debug.c:87,17'
          Dst:             sudo_debug_register_v2
        - Src:             './sudoers_debug.c:107,2'
          Dst:             sudo_debug_set_active_instance_v1
    - functionName:    sudoers_debug_parse_flags
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_debug_parse_flags_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_debug.c:69,12'
          Dst:             sudo_debug_parse_flags_v1
    - functionName:    parse_timeout
      functionSourceFile: '/src/sudo/plugins/sudoers/./timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          247
      EdgeCount:       59
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - strtol
        - tolower
      functionUses:    3
      BranchProfiles:
        - Branch String:   './timeout.c:75,6'
          Branch Sides:    []
      Callsites:
        - Src:             './timeout.c:52,2'
          Dst:             __errno_location
        - Src:             './timeout.c:53,6'
          Dst:             strtol
        - Src:             './timeout.c:56,6'
          Dst:             __errno_location
        - Src:             './timeout.c:59,6'
          Dst:             __errno_location
        - Src:             './timeout.c:64,11'
          Dst:             tolower
        - Src:             './timeout.c:68,7'
          Dst:             __errno_location
        - Src:             './timeout.c:102,5'
          Dst:             __errno_location
    - 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:    2
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pl_compare
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 912
      functionLinenumberEnd: 916
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:916,12'
          Dst:             strcmp
    - functionName:    read_dir_files
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 927
      functionLinenumberEnd: 1022
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          409
      EdgeCount:       91
      CyclomaticComplexity: 25
      functionsReached:
        - __errno_location
        - closedir
        - fprintf
        - fputc
        - opendir
        - readdir
        - reallocarray
        - snprintf
        - stat
        - strchr
        - strcmp
        - strlen
        - sudo_rcstr_alloc
        - sudo_rcstr_delref
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
        - sudoerserror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:933,27'
          Dst:             strlen
        - Src:             'toke.l:937,11'
          Dst:             opendir
        - Src:             'toke.l:939,6'
          Dst:             __errno_location
        - Src:             'toke.l:941,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             'toke.l:944,13'
          Dst:             reallocarray
        - Src:             'toke.l:947,20'
          Dst:             readdir
        - Src:             'toke.l:948,25'
          Dst:             strlen
        - Src:             'toke.l:956,50'
          Dst:             strchr
        - Src:             'toke.l:960,20'
          Dst:             strcmp
        - Src:             'toke.l:961,23'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:962,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:961,7'
          Dst:             fprintf
        - Src:             'toke.l:964,23'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:965,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:964,7'
          Dst:             fprintf
        - Src:             'toke.l:967,3'
          Dst:             fputc
        - Src:             'toke.l:972,14'
          Dst:             sudo_rcstr_alloc
        - Src:             'toke.l:974,14'
          Dst:             snprintf
        - Src:             'toke.l:975,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:975,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:976,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:979,6'
          Dst:             stat
        - Src:             'toke.l:980,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:985,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:992,12'
          Dst:             reallocarray
        - Src:             'toke.l:994,3'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1002,5'
          Dst:             closedir
        - Src:             'toke.l:1011,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1011,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1011,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1013,5'
          Dst:             sudoerserror
        - Src:             'toke.l:1015,2'
          Dst:             closedir
        - Src:             'toke.l:1017,2'
          Dst:             sudo_rcstr_delref
    - functionName:    opendir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    readdir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fputc
      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:    closedir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strlcpy_expand_host
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1103
      functionLinenumberEnd: 1130
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          150
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - sudo_strlcpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1110,17'
          Dst:             sudo_strlcpy
    - functionName:    switch_dir
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1030
      functionLinenumberEnd: 1047
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          92
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - pl_compare
        - qsort
        - read_dir_files
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1035,13'
          Dst:             read_dir_files
        - Src:             'toke.l:1038,2'
          Dst:             qsort
        - Src:             'toke.l:1038,2'
          Dst:             pl_compare
    - 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:    expand_include
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1140
      functionLinenumberEnd: 1264
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         77
      ICount:          521
      EdgeCount:       102
      CyclomaticComplexity: 27
      functionsReached:
        - memrchr
        - strchr
        - strlcpy_expand_host
        - strlen
        - sudo_rcstr_alloc
        - sudo_strsplit_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoerserror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1142,35'
          Dst:             strlen
        - Src:             'toke.l:1150,15'
          Dst:             strlen
        - Src:             'toke.l:1171,23'
          Dst:             strchr
        - Src:             'toke.l:1172,24'
          Dst:             strlen
        - Src:             'toke.l:1174,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1174,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1174,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1190,32'
          Dst:             strlen
        - Src:             'toke.l:1191,9'
          Dst:             sudo_rcstr_alloc
        - Src:             'toke.l:1193,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1193,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1193,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1196,6'
          Dst:             strlcpy_expand_host
        - Src:             'toke.l:1207,15'
          Dst:             sudo_strsplit_v1
        - Src:             'toke.l:1209,17'
          Dst:             memrchr
        - Src:             'toke.l:1215,33'
          Dst:             strlen
        - Src:             'toke.l:1208,11'
          Dst:             sudo_strsplit_v1
        - Src:             'toke.l:1219,18'
          Dst:             sudo_rcstr_alloc
        - Src:             'toke.l:1221,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1221,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1221,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1224,15'
          Dst:             sudo_strsplit_v1
        - Src:             'toke.l:1236,11'
          Dst:             memrchr
        - Src:             'toke.l:1246,8'
          Dst:             strlcpy_expand_host
        - Src:             'toke.l:1225,11'
          Dst:             sudo_strsplit_v1
        - Src:             'toke.l:1258,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1258,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1260,5'
          Dst:             sudoerserror
    - functionName:    memrchr
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_input
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1512
      functionLinenumberEnd: 1574
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          216
      EdgeCount:       39
      CyclomaticComplexity: 9
      functionsReached:
        - feof
        - getc
        - getdelim
        - memchr
        - realloc
        - sudo_debug_printf2_v1
        - ungetc
        - yy_fatal_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1524,11'
          Dst:             getc
        - Src:             'toke.l:1527,2'
          Dst:             ungetc
        - Src:             'toke.l:1528,18'
          Dst:             getdelim
        - Src:             'toke.l:1532,10'
          Dst:             feof
        - Src:             'toke.l:1534,6'
          Dst:             yy_fatal_error
        - Src:             'toke.l:1538,7'
          Dst:             memchr
        - Src:             'toke.l:1548,8'
          Dst:             realloc
        - Src:             'toke.l:1550,7'
          Dst:             yy_fatal_error
        - Src:             'toke.l:1560,2'
          Dst:             sudo_debug_printf2_v1
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ungetc
      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:    yy_fatal_error
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5460
      functionLinenumberEnd: 5461
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - exit
        - fprintf
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5460,4'
          Dst:             fprintf
        - Src:             'toke.c:5461,2'
          Dst:             exit
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    push_includedir
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1418
      functionLinenumberEnd: 1419
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - push_include_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1419,12'
          Dst:             push_include_int
    - functionName:    push_include_int
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1275
      functionLinenumberEnd: 1406
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         83
      ICount:          508
      EdgeCount:       97
      CyclomaticComplexity: 16
      functionsReached:
        - __errno_location
        - close
        - expand_include
        - fprintf
        - fputc
        - fstat
        - open_sudoers
        - reallocarray
        - sudo_open_conf_path_v1
        - sudo_rcstr_addref
        - sudo_rcstr_delref
        - sudo_secure_fd_v1
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
        - sudoers_create_buffer
        - sudoers_file_gid
        - sudoers_file_uid
        - sudoers_switch_to_buffer
        - sudoerserror
        - switch_dir
      functionUses:    2
      BranchProfiles:
        - Branch String:   'toke.l:1330,3'
          Branch Sides:    []
        - Branch String:   'toke.l:1357,2'
          Branch Sides:    []
      Callsites:
        - Src:             'toke.l:1281,17'
          Dst:             expand_include
        - Src:             'toke.l:1290,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1291,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1290,3'
          Dst:             fprintf
        - Src:             'toke.l:1292,3'
          Dst:             fputc
        - Src:             'toke.l:1294,6'
          Dst:             sudoerserror
        - Src:             'toke.l:1295,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1299,15'
          Dst:             reallocarray
        - Src:             'toke.l:1301,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1301,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1301,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1302,6'
          Dst:             sudoerserror
        - Src:             'toke.l:1303,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1315,7'
          Dst:             sudo_open_conf_path_v1
        - Src:             'toke.l:1318,22'
          Dst:             fstat
        - Src:             'toke.l:1323,15'
          Dst:             sudoers_file_uid
        - Src:             'toke.l:1323,15'
          Dst:             sudoers_file_gid
        - Src:             'toke.l:1323,15'
          Dst:             sudo_secure_fd_v1
        - Src:             'toke.l:1327,6'
          Dst:             close
        - Src:             'toke.l:1332,7'
          Dst:             __errno_location
        - Src:             'toke.l:1333,7'
          Dst:             sudo_warn_nodebug_v1
        - Src:             'toke.l:1336,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1338,19'
          Dst:             sudoers_file_uid
        - Src:             'toke.l:1336,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1341,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1341,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1344,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1346,19'
          Dst:             sudoers_file_gid
        - Src:             'toke.l:1344,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1353,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1356,10'
          Dst:             switch_dir
        - Src:             'toke.l:1361,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1367,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1368,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1378,6'
          Dst:             sudo_rcstr_addref
        - Src:             'toke.l:1379,17'
          Dst:             open_sudoers
        - Src:             'toke.l:1381,12'
          Dst:             open_sudoers
        - Src:             'toke.l:1383,6'
          Dst:             sudoerserror
        - Src:             'toke.l:1384,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1402,30'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:1402,5'
          Dst:             sudoers_switch_to_buffer
    - functionName:    sudoers_create_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5173
      functionLinenumberEnd: 5193
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - sudoers_init_buffer
        - sudoersalloc
        - yy_fatal_error
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5176,24'
          Dst:             sudoersalloc
        - Src:             'toke.c:5178,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5185,26'
          Dst:             sudoersalloc
        - Src:             'toke.c:5187,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5191,2'
          Dst:             sudoers_init_buffer
    - functionName:    sudoers_switch_to_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5128
      functionLinenumberEnd: 5156
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          89
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - sudoers_load_buffer_state
        - sudoersensure_buffer_stack
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5135,2'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.c:5148,2'
          Dst:             sudoers_load_buffer_state
    - functionName:    sudoersensure_buffer_stack
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5326
      functionLinenumberEnd: 5366
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          81
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - sudoersalloc
        - sudoersrealloc
        - yy_fatal_error
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5336,49'
          Dst:             sudoersalloc
        - Src:             'toke.c:5340,4'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5355,49'
          Dst:             sudoersrealloc
        - Src:             'toke.c:5360,4'
          Dst:             yy_fatal_error
    - functionName:    sudoers_load_buffer_state
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5159
      functionLinenumberEnd: 5164
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          29
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoersalloc
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5637
      functionLinenumberEnd: 5638
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoersrealloc
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5642
      functionLinenumberEnd: 5651
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5651,9'
          Dst:             realloc
    - functionName:    sudoers_init_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5221
      functionLinenumberEnd: 5241
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - fileno
        - isatty
        - sudoers_flush_buffer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5222,15'
          Dst:             __errno_location
        - Src:             'toke.c:5224,2'
          Dst:             sudoers_flush_buffer
        - Src:             'toke.c:5238,48'
          Dst:             fileno
        - Src:             'toke.c:5238,40'
          Dst:             isatty
        - Src:             'toke.c:5240,2'
          Dst:             __errno_location
    - functionName:    sudoers_flush_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5248
      functionLinenumberEnd: 5268
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          74
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - sudoers_load_buffer_state
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5267,3'
          Dst:             sudoers_load_buffer_state
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    push_include
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1411
      functionLinenumberEnd: 1412
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - push_include_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1412,12'
          Dst:             push_include_int
    - functionName:    init_lexer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1059
      functionLinenumberEnd: 1095
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          135
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - fclose
        - sudo_lbuf_init_v1
        - sudo_rcstr_delref
        - sudoers_delete_buffer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1065,5'
          Dst:             sudo_lbuf_init_v1
        - Src:             'toke.l:1072,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1075,2'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1077,6'
          Dst:             fclose
        - Src:             'toke.l:1078,2'
          Dst:             sudoers_delete_buffer
    - functionName:    sudoers_delete_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5201
      functionLinenumberEnd: 5213
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          72
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - sudoersfree
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5210,3'
          Dst:             sudoersfree
        - Src:             'toke.c:5212,2'
          Dst:             sudoersfree
    - functionName:    sudoersfree
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5655
      functionLinenumberEnd: 5657
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yy_init_globals
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5562
      functionLinenumberEnd: 5586
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoerslex_destroy
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5591
      functionLinenumberEnd: 5608
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          60
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - sudoers_delete_buffer
        - sudoersfree
        - sudoerspop_buffer_state
        - yy_init_globals
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5595,3'
          Dst:             sudoers_delete_buffer
        - Src:             'toke.c:5597,3'
          Dst:             sudoerspop_buffer_state
        - Src:             'toke.c:5601,2'
          Dst:             sudoersfree
        - Src:             'toke.c:5606,5'
          Dst:             yy_init_globals
    - functionName:    sudoerspop_buffer_state
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5307
      functionLinenumberEnd: 5320
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         25
      ICount:          103
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - sudoers_delete_buffer
        - sudoers_load_buffer_state
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5311,2'
          Dst:             sudoers_delete_buffer
        - Src:             'toke.c:5317,3'
          Dst:             sudoers_load_buffer_state
    - functionName:    sudoersset_debug
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5557
      functionLinenumberEnd: 5559
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoersget_debug
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5552
      functionLinenumberEnd: 5553
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoersset_out
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5547
      functionLinenumberEnd: 5549
      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:    sudoersset_in
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5542
      functionLinenumberEnd: 5544
      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:    sudoersset_lineno
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5530
      functionLinenumberEnd: 5533
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoersget_text
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5521
      functionLinenumberEnd: 5522
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoersget_leng
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5512
      functionLinenumberEnd: 5513
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoersget_out
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5504
      functionLinenumberEnd: 5505
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoersget_in
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5496
      functionLinenumberEnd: 5497
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoersget_lineno
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5487
      functionLinenumberEnd: 5489
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_scan_bytes
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5425
      functionLinenumberEnd: 5451
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          93
      EdgeCount:       12
      CyclomaticComplexity: 3
      functionsReached:
        - sudoers_scan_buffer
        - sudoersalloc
        - yy_fatal_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5433,17'
          Dst:             sudoersalloc
        - Src:             'toke.c:5435,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5442,6'
          Dst:             sudoers_scan_buffer
        - Src:             'toke.c:5444,3'
          Dst:             yy_fatal_error
    - functionName:    sudoers_scan_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5375
      functionLinenumberEnd: 5401
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          110
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - sudoers_switch_to_buffer
        - sudoersalloc
        - yy_fatal_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5384,24'
          Dst:             sudoersalloc
        - Src:             'toke.c:5386,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5398,2'
          Dst:             sudoers_switch_to_buffer
    - functionName:    sudoers_scan_string
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5412
      functionLinenumberEnd: 5414
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strlen
        - sudoers_scan_bytes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5414,37'
          Dst:             strlen
        - Src:             'toke.c:5414,9'
          Dst:             sudoers_scan_bytes
    - functionName:    sudoerspush_buffer_state
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5277
      functionLinenumberEnd: 5300
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          103
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - sudoers_load_buffer_state
        - sudoersensure_buffer_stack
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5281,2'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.c:5298,2'
          Dst:             sudoers_load_buffer_state
    - functionName:    sudoersrestart
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5111
      functionLinenumberEnd: 5121
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - sudoers_create_buffer
        - sudoers_init_buffer
        - sudoers_load_buffer_state
        - sudoersensure_buffer_stack
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5114,9'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.c:5116,13'
          Dst:             sudoers_create_buffer
        - Src:             'toke.c:5119,2'
          Dst:             sudoers_init_buffer
        - Src:             'toke.c:5120,2'
          Dst:             sudoers_load_buffer_state
    - functionName:    yy_get_next_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4832
      functionLinenumberEnd: 4965
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         42
      ICount:          414
      EdgeCount:       53
      CyclomaticComplexity: 13
      functionsReached:
        - sudoers_input
        - sudoersrealloc
        - sudoersrestart
        - yy_fatal_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:4839,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:4900,6'
          Dst:             sudoersrealloc
        - Src:             'toke.c:4908,5'
          Dst:             yy_fatal_error
        - Src:             'toke.c:4922,3'
          Dst:             sudoers_input
        - Src:             'toke.c:4933,4'
          Dst:             sudoersrestart
        - Src:             'toke.c:4950,50'
          Dst:             sudoersrealloc
        - Src:             'toke.c:4953,4'
          Dst:             yy_fatal_error
    - functionName:    yy_try_NUL_trans
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5003
      functionLinenumberEnd: 5022
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          105
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yy_get_previous_state
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4970
      functionLinenumberEnd: 4994
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          136
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pop_include
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1429
      functionLinenumberEnd: 1475
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         36
      ICount:          254
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - fclose
        - open_sudoers
        - sudo_rcstr_addref
        - sudo_rcstr_delref
        - sudoers_create_buffer
        - sudoers_delete_buffer
        - sudoers_switch_to_buffer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1438,2'
          Dst:             fclose
        - Src:             'toke.l:1439,5'
          Dst:             sudoers_delete_buffer
        - Src:             'toke.l:1443,7'
          Dst:             open_sudoers
        - Src:             'toke.l:1447,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1448,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1451,6'
          Dst:             sudo_rcstr_addref
        - Src:             'toke.l:1453,31'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:1453,6'
          Dst:             sudoers_switch_to_buffer
        - Src:             'toke.l:1458,2'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1464,2'
          Dst:             sudoers_switch_to_buffer
        - Src:             'toke.l:1467,2'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1469,2'
          Dst:             sudo_rcstr_delref
    - functionName:    sudoerslex
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3541
      functionLinenumberEnd: 4822
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1401
      ICount:          7621
      EdgeCount:       1688
      CyclomaticComplexity: 289
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - append
        - feof
        - fill
        - fill_args
        - fill_cmnd
        - fwrite
        - ipv6_valid
        - parser_leak_remove
        - pop_include
        - strerror
        - sudo_digest_getlen_v2
        - sudo_regex_compile_v1
        - sudoers_create_buffer
        - sudoers_load_buffer_state
        - sudoers_strict
        - sudoersensure_buffer_stack
        - yy_fatal_error
        - yy_get_next_buffer
        - yy_get_previous_state
        - yy_try_NUL_trans
      functionUses:    1
      BranchProfiles:
        - Branch String:   'toke.c:3624,3'
          Branch Sides:    []
        - Branch String:   'toke.l:189,5'
          Branch Sides:    []
        - Branch String:   'toke.l:430,8'
          Branch Sides:    []
        - Branch String:   'toke.l:464,8'
          Branch Sides:    []
        - Branch String:   'toke.c:4762,8'
          Branch Sides:    []
      Callsites:
        - Src:             'toke.c:3564,4'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.c:3566,5'
          Dst:             sudoers_create_buffer
        - Src:             'toke.c:3569,3'
          Dst:             sudoers_load_buffer_state
        - Src:             'toke.l:130,13'
          Dst:             fill
        - Src:             'toke.l:166,13'
          Dst:             fill
        - Src:             'toke.l:194,6'
          Dst:             parser_leak_remove
        - Src:             'toke.l:204,6'
          Dst:             parser_leak_remove
        - Src:             'toke.l:220,13'
          Dst:             append
        - Src:             'toke.l:226,13'
          Dst:             append
        - Src:             'toke.l:235,13'
          Dst:             fill_args
        - Src:             'toke.l:243,13'
          Dst:             fill_args
        - Src:             'toke.l:251,8'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:251,8'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:260,5'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:260,5'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:263,10'
          Dst:             fill_args
        - Src:             'toke.l:274,13'
          Dst:             fill_args
        - Src:             'toke.l:281,8'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:281,8'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:290,13'
          Dst:             fill_args
        - Src:             'toke.l:294,12'
          Dst:             sudoers_strict
        - Src:             'toke.l:295,10'
          Dst:             sudo_regex_compile_v1
        - Src:             'toke.l:306,12'
          Dst:             __ctype_b_loc
        - Src:             'toke.l:313,10'
          Dst:             fill_args
        - Src:             'toke.l:322,5'
          Dst:             sudo_digest_getlen_v2
        - Src:             'toke.l:324,10'
          Dst:             fill
        - Src:             'toke.l:337,5'
          Dst:             sudo_digest_getlen_v2
        - Src:             'toke.l:346,10'
          Dst:             fill
        - Src:             'toke.l:389,8'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:389,8'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:405,8'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:405,8'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:422,20'
          Dst:             __ctype_b_loc
        - Src:             'toke.l:426,12'
          Dst:             __ctype_b_loc
        - Src:             'toke.l:462,20'
          Dst:             __ctype_b_loc
        - Src:             'toke.l:573,13'
          Dst:             fill
        - Src:             'toke.l:581,13'
          Dst:             fill
        - Src:             'toke.l:588,13'
          Dst:             fill
        - Src:             'toke.l:595,13'
          Dst:             fill
        - Src:             'toke.l:602,13'
          Dst:             ipv6_valid
        - Src:             'toke.l:607,13'
          Dst:             fill
        - Src:             'toke.l:614,13'
          Dst:             ipv6_valid
        - Src:             'toke.l:619,13'
          Dst:             fill
        - Src:             'toke.l:684,13'
          Dst:             fill
        - Src:             'toke.l:693,13'
          Dst:             fill_cmnd
        - Src:             'toke.l:730,13'
          Dst:             fill_cmnd
        - Src:             'toke.l:736,10'
          Dst:             fill
        - Src:             'toke.l:746,10'
          Dst:             fill_cmnd
        - Src:             'toke.l:752,13'
          Dst:             fill_cmnd
        - Src:             'toke.l:757,12'
          Dst:             sudoers_strict
        - Src:             'toke.l:758,10'
          Dst:             sudo_regex_compile_v1
        - Src:             'toke.l:765,13'
          Dst:             fill_cmnd
        - Src:             'toke.l:779,13'
          Dst:             fill
        - Src:             'toke.l:788,13'
          Dst:             fill
        - Src:             'toke.l:838,5'
          Dst:             parser_leak_remove
        - Src:             'toke.l:870,20'
          Dst:             feof
        - Src:             'toke.l:871,31'
          Dst:             __errno_location
        - Src:             'toke.l:871,22'
          Dst:             strerror
        - Src:             'toke.l:885,13'
          Dst:             pop_include
        - Src:             'toke.l:889,1'
          Dst:             fwrite
        - Src:             'toke.c:4732,23'
          Dst:             yy_get_previous_state
        - Src:             'toke.c:4743,20'
          Dst:             yy_try_NUL_trans
        - Src:             'toke.c:4762,17'
          Dst:             yy_get_next_buffer
        - Src:             'toke.c:4797,24'
          Dst:             yy_get_previous_state
        - Src:             'toke.c:4807,24'
          Dst:             yy_get_previous_state
        - Src:             'toke.c:4817,3'
          Dst:             yy_fatal_error
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fwrite
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_trace_print
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1486
      functionLinenumberEnd: 1500
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strchr
        - sudo_debug_needed_v1
        - sudo_debug_printf2_v1
        - sudo_lbuf_append_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1489,9'
          Dst:             sudo_debug_needed_v1
        - Src:             'toke.l:1490,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             'toke.l:1491,6'
          Dst:             strchr
        - Src:             'toke.l:1494,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    ipv6_valid
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          95
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fill_args
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          178
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - parser_leak_add
        - parser_leak_remove
        - realloc
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoerserror
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:182,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:197,2'
          Dst:             parser_leak_remove
        - Src:             './toke_util.c:198,6'
          Dst:             realloc
        - Src:             './toke_util.c:200,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:200,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:200,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:203,2'
          Dst:             parser_leak_add
        - Src:             './toke_util.c:212,9'
          Dst:             sudo_strlcpy
        - Src:             './toke_util.c:213,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:213,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:214,2'
          Dst:             parser_leak_remove
        - Src:             './toke_util.c:220,5'
          Dst:             sudoerserror
    - functionName:    fill_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         50
      ICount:          286
      EdgeCount:       65
      CyclomaticComplexity: 17
      functionsReached:
        - parser_leak_add
        - strcmp
        - strdup
        - strrchr
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_strict
        - sudoerserror
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:130,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:130,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:130,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:131,2'
          Dst:             sudoerserror
        - Src:             './toke_util.c:151,13'
          Dst:             strrchr
        - Src:             './toke_util.c:152,10'
          Dst:             strcmp
        - Src:             './toke_util.c:153,7'
          Dst:             sudoers_strict
        - Src:             './toke_util.c:154,7'
          Dst:             sudoerserror
        - Src:             './toke_util.c:158,35'
          Dst:             strdup
        - Src:             './toke_util.c:159,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:160,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:159,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:167,5'
          Dst:             parser_leak_add
    - functionName:    append
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          96
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - copy_string
        - parser_leak_add
        - parser_leak_remove
        - realloc
        - strlen
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoerserror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:95,9'
          Dst:             strlen
        - Src:             './toke_util.c:96,2'
          Dst:             parser_leak_remove
        - Src:             './toke_util.c:99,11'
          Dst:             realloc
        - Src:             './toke_util.c:104,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:104,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:104,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:105,2'
          Dst:             sudoerserror
        - Src:             './toke_util.c:108,5'
          Dst:             parser_leak_add
        - Src:             './toke_util.c:109,5'
          Dst:             copy_string
    - functionName:    copy_string
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          112
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - sudo_hexchar_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:51,49'
          Dst:             sudo_hexchar_v1
    - functionName:    fill
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - copy_string
        - parser_leak_add
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoerserror
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:75,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:75,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:75,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:76,2'
          Dst:             sudoerserror
        - Src:             './toke_util.c:79,5'
          Dst:             parser_leak_add
        - Src:             './toke_util.c:80,5'
          Dst:             copy_string
    - functionName:    alias_remove_recursive
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          115
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - alias_remove
        - alias_remove_recursive
        - rbinsert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:281,14'
          Dst:             alias_remove
        - Src:             './alias.c:284,8'
          Dst:             alias_remove_recursive
        - Src:             './alias.c:288,6'
          Dst:             rbinsert
    - functionName:    alias_remove
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - rbdelete
        - rbfind
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:234,14'
          Dst:             rbfind
        - Src:             './alias.c:235,6'
          Dst:             rbdelete
        - Src:             './alias.c:237,5'
          Dst:             __errno_location
    - functionName:    alias_find_used_members
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          91
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - alias_remove_recursive
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:306,11'
          Dst:             alias_remove_recursive
    - functionName:    alias_find_used
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          256
      EdgeCount:       38
      CyclomaticComplexity: 7
      functionsReached:
        - alias_find_used_members
        - alias_remove_recursive
      functionUses:    0
      BranchProfiles:
        - Branch String:   './alias.c:349,2'
          Branch Sides:    []
      Callsites:
        - Src:             './alias.c:330,12'
          Dst:             alias_find_used_members
        - Src:             './alias.c:333,16'
          Dst:             alias_find_used_members
        - Src:             './alias.c:336,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:338,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:341,12'
          Dst:             alias_remove_recursive
        - Src:             './alias.c:351,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:355,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:359,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:363,13'
          Dst:             alias_find_used_members
    - functionName:    alias_type_to_string
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - alias_free
        - rbdestroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:255,2'
          Dst:             rbdestroy
        - Src:             './alias.c:255,2'
          Dst:             alias_free
    - functionName:    alias_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - free_members
        - sudo_rcstr_delref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:212,2'
          Dst:             sudo_rcstr_delref
        - Src:             './alias.c:213,2'
          Dst:             free_members
    - functionName:    alias_compare
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          82
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:47,21'
          Dst:             strcmp
    - functionName:    no_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_apply_func
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_apply
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - alias_apply_func
        - rbapply_node
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:183,6'
          Dst:             rbapply_node
        - Src:             './alias.c:183,6'
          Dst:             alias_apply_func
    - functionName:    alloc_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - alias_compare
        - rbcreate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:246,5'
          Dst:             rbcreate
        - Src:             './alias.c:246,5'
          Dst:             alias_compare
    - functionName:    alias_add
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      bool
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          180
      EdgeCount:       31
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - alloc_aliases
        - calloc
        - rbinsert
        - sudo_rcstr_addref
      functionUses:    4
      BranchProfiles:
        - Branch String:   './alias.c:126,5'
          Branch Sides:    []
      Callsites:
        - Src:             './alias.c:115,29'
          Dst:             alloc_aliases
        - Src:             './alias.c:119,9'
          Dst:             calloc
        - Src:             './alias.c:126,13'
          Dst:             rbinsert
        - Src:             './alias.c:129,2'
          Dst:             __errno_location
        - Src:             './alias.c:141,15'
          Dst:             sudo_rcstr_addref
    - functionName:    alias_put
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_get
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - rbfind
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:72,17'
          Dst:             rbfind
        - Src:             './alias.c:80,6'
          Dst:             __errno_location
        - Src:             './alias.c:85,2'
          Dst:             __errno_location
    - functionName:    digest_type_to_name
      functionSourceFile: '/src/sudo/plugins/sudoers/./digestname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './digestname.c:32,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sudo_filedigest
      functionSourceFile: '/src/sudo/plugins/sudoers/./filedigest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          207
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - close
        - dup
        - fclose
        - fdopen
        - ferror
        - fread
        - strerror
        - sudo_debug_printf2_v1
        - sudo_digest_alloc_v1
        - sudo_digest_final_v1
        - sudo_digest_free_v1
        - sudo_digest_getlen_v2
        - sudo_digest_update_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './filedigest.c:43,19'
          Dst:             sudo_digest_getlen_v2
        - Src:             './filedigest.c:45,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:45,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:49,16'
          Dst:             dup
        - Src:             './filedigest.c:50,2'
          Dst:             __errno_location
        - Src:             './filedigest.c:50,2'
          Dst:             strerror
        - Src:             './filedigest.c:50,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './filedigest.c:54,15'
          Dst:             fdopen
        - Src:             './filedigest.c:55,2'
          Dst:             __errno_location
        - Src:             './filedigest.c:55,2'
          Dst:             strerror
        - Src:             './filedigest.c:55,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './filedigest.c:57,2'
          Dst:             close
        - Src:             './filedigest.c:61,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:61,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:61,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:64,16'
          Dst:             sudo_digest_alloc_v1
        - Src:             './filedigest.c:65,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:65,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:65,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:68,21'
          Dst:             fread
        - Src:             './filedigest.c:69,2'
          Dst:             sudo_digest_update_v1
        - Src:             './filedigest.c:71,9'
          Dst:             ferror
        - Src:             './filedigest.c:72,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:72,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:75,5'
          Dst:             sudo_digest_final_v1
        - Src:             './filedigest.c:76,5'
          Dst:             sudo_digest_free_v1
        - Src:             './filedigest.c:77,5'
          Dst:             fclose
        - Src:             './filedigest.c:81,5'
          Dst:             sudo_digest_free_v1
        - Src:             './filedigest.c:84,2'
          Dst:             fclose
    - 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:    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:    1
      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:    parse_gentime
      functionSourceFile: '/src/sudo/plugins/sudoers/./gentime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         74
      ICount:          458
      EdgeCount:       88
      CyclomaticComplexity: 16
      functionsReached:
        - __ctype_b_loc
        - __isoc99_sscanf
        - mktime
        - strspn
        - sudo_debug_printf2_v1
        - timegm
      functionUses:    2
      BranchProfiles:
        - Branch String:   './gentime.c:83,2'
          Branch Sides:    []
        - Branch String:   './gentime.c:100,5'
          Branch Sides:    []
      Callsites:
        - Src:             './gentime.c:60,11'
          Dst:             strspn
        - Src:             './gentime.c:62,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:71,13'
          Dst:             __isoc99_sscanf
        - Src:             './gentime.c:74,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:81,43'
          Dst:             __ctype_b_loc
        - Src:             './gentime.c:108,8'
          Dst:             strspn
        - Src:             './gentime.c:110,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:116,10'
          Dst:             __isoc99_sscanf
        - Src:             './gentime.c:118,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:141,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:146,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:156,11'
          Dst:             mktime
        - Src:             './gentime.c:158,11'
          Dst:             timegm
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __isoc99_sscanf
      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:    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:    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:    eventlog_stub_close_log
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_debug_printf2_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './eventlog_conf.c:99,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    eventlog_stub_open_log
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          26
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_debug_printf2_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './eventlog_conf.c:90,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    eventlog_getconf
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_close_log
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 216
      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:    eventlog_set_open_log
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 210
      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:    eventlog_set_mailsub
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_mailto
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_mailfrom
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_mailerflags
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_mailerpath
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_time_fmt
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_logpath
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_omit_hostname
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_maileruser
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_file_maxlen
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_syslog_maxlen
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_syslog_alertpri
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_syslog_rejectpri
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_syslog_acceptpri
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_format
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventlog_set_type
      functionSourceFile: '/src/sudo/lib/eventlog/./eventlog_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_base64_decode_v1
      functionSourceFile: '/src/sudo/lib/util/./b64_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          182
      EdgeCount:       37
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_basename_v1
      functionSourceFile: '/src/sudo/lib/util/./basename.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strrchr
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './basename.c:41,17'
          Dst:             strrchr
    - functionName:    sudo_digest_final_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          27
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - EVP_DigestFinal_ex
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:151,5'
          Dst:             EVP_DigestFinal_ex
    - functionName:    EVP_DigestFinal_ex
      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:    sudo_digest_update_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          30
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - EVP_DigestUpdate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:141,5'
          Dst:             EVP_DigestUpdate
    - functionName:    EVP_DigestUpdate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_getlen_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_digest_getlen_v2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:132,18'
          Dst:             sudo_digest_getlen_v2
    - functionName:    sudo_digest_getlen_v2
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_MD_size
        - sudo_digest_type_to_md
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:122,10'
          Dst:             sudo_digest_type_to_md
        - Src:             './digest_openssl.c:126,5'
          Dst:             EVP_MD_size
    - functionName:    sudo_digest_type_to_md
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          60
      EdgeCount:       21
      CyclomaticComplexity: 12
      functionsReached:
        - EVP_sha224
        - EVP_sha256
        - EVP_sha384
        - EVP_sha512
        - __errno_location
      functionUses:    2
      BranchProfiles:
        - Branch String:   './digest_openssl.c:44,5'
          Branch Sides:    []
      Callsites:
        - Src:             './digest_openssl.c:46,7'
          Dst:             EVP_sha224
        - Src:             './digest_openssl.c:49,7'
          Dst:             EVP_sha256
        - Src:             './digest_openssl.c:52,7'
          Dst:             EVP_sha384
        - Src:             './digest_openssl.c:55,7'
          Dst:             EVP_sha512
        - Src:             './digest_openssl.c:58,2'
          Dst:             __errno_location
    - functionName:    EVP_MD_size
      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:    EVP_sha224
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha256
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha384
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha512
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_reset_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          31
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - EVP_DigestInit_ex
        - EVP_MD_CTX_reset
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:110,5'
          Dst:             EVP_MD_CTX_reset
        - Src:             './digest_openssl.c:111,5'
          Dst:             EVP_DigestInit_ex
    - functionName:    EVP_MD_CTX_reset
      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:    EVP_DigestInit_ex
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_free_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          37
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_MD_CTX_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:97,2'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_MD_CTX_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_alloc_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          94
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - EVP_DigestInit_ex
        - EVP_MD_CTX_free
        - EVP_MD_CTX_new
        - sudo_digest_type_to_md
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:72,10'
          Dst:             sudo_digest_type_to_md
        - Src:             './digest_openssl.c:76,13'
          Dst:             EVP_MD_CTX_new
        - Src:             './digest_openssl.c:77,27'
          Dst:             EVP_DigestInit_ex
        - Src:             './digest_openssl.c:87,5'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_MD_CTX_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_warn_gettext_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - dgettext
      functionUses:    266
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:332,11'
          Dst:             dgettext
    - functionName:    sudo_warn_set_locale_func_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_warn_set_conversation_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fatal_callback_deregister_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 281
      functionLinenumberEnd: 298
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          83
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fatal_callback_register_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gai_vwarn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gai_strerror
        - warning
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:174,13'
          Dst:             gai_strerror
        - Src:             './fatal.c:174,5'
          Dst:             warning
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    warning
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          274
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - fputs
        - putc
        - sudo_getprogname
        - vasprintf
        - vfprintf
        - vsnprintf
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:181,29'
          Dst:             __errno_location
        - Src:             './fatal.c:194,22'
          Dst:             sudo_getprogname
        - Src:             './fatal.c:201,12'
          Dst:             vsnprintf
        - Src:             './fatal.c:205,11'
          Dst:             vasprintf
        - Src:             './fatal.c:228,15'
          Dst:             sudo_getprogname
        - Src:             './fatal.c:228,9'
          Dst:             fputs
        - Src:             './fatal.c:230,17'
          Dst:             fputs
        - Src:             './fatal.c:231,17'
          Dst:             vfprintf
        - Src:             './fatal.c:234,13'
          Dst:             fputs
        - Src:             './fatal.c:235,13'
          Dst:             fputs
        - Src:             './fatal.c:241,9'
          Dst:             putc
        - Src:             './fatal.c:249,5'
          Dst:             __errno_location
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gai_warn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gai_strerror
        - warning
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:167,13'
          Dst:             gai_strerror
        - Src:             './fatal.c:167,5'
          Dst:             warning
    - functionName:    sudo_vwarnx_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - warning
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:138,5'
          Dst:             warning
    - functionName:    sudo_vwarn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - strerror
        - warning
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:132,22'
          Dst:             __errno_location
        - Src:             './fatal.c:132,13'
          Dst:             strerror
        - Src:             './fatal.c:132,5'
          Dst:             warning
    - functionName:    sudo_warnx_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - warning
      functionUses:    169
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:125,5'
          Dst:             warning
    - functionName:    sudo_warn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - strerror
        - warning
      functionUses:    33
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:116,22'
          Dst:             __errno_location
        - Src:             './fatal.c:116,13'
          Dst:             strerror
        - Src:             './fatal.c:116,5'
          Dst:             warning
    - functionName:    do_cleanup
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fatal_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - do_cleanup
        - exit
        - strerror
        - warning
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:76,22'
          Dst:             __errno_location
        - Src:             './fatal.c:76,13'
          Dst:             strerror
        - Src:             './fatal.c:76,5'
          Dst:             warning
        - Src:             './fatal.c:78,5'
          Dst:             do_cleanup
        - Src:             './fatal.c:79,5'
          Dst:             exit
    - functionName:    sudo_getgrouplist2_v1
      functionSourceFile: '/src/sudo/lib/util/./getgrouplist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          176
      EdgeCount:       40
      CyclomaticComplexity: 9
      functionsReached:
        - getgrouplist
        - reallocarray
        - sysconf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './getgrouplist.c:78,2'
          Dst:             getgrouplist
        - Src:             './getgrouplist.c:86,15'
          Dst:             sysconf
        - Src:             './getgrouplist.c:96,11'
          Dst:             reallocarray
        - Src:             './getgrouplist.c:100,6'
          Dst:             getgrouplist
    - functionName:    getgrouplist
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sysconf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_host_name_max_v1
      functionSourceFile: '/src/sudo/lib/util/./gethostname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sysconf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './gethostname.c:57,9'
          Dst:             sysconf
    - functionName:    sudo_gethostname_v1
      functionSourceFile: '/src/sudo/lib/util/./gethostname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - gethostname
        - sudo_host_name_max_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './gethostname.c:34,34'
          Dst:             sudo_host_name_max_v1
        - Src:             './gethostname.c:37,6'
          Dst:             gethostname
    - functionName:    gethostname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gettime_awake_v1
      functionSourceFile: '/src/sudo/lib/util/./gettime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          86
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - clock_gettime
        - sudo_debug_printf2_v1
        - sudo_gettime_real_v1
        - sysconf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './gettime.c:170,18'
          Dst:             sysconf
        - Src:             './gettime.c:173,2'
          Dst:             sudo_gettime_real_v1
        - Src:             './gettime.c:174,9'
          Dst:             clock_gettime
        - Src:             './gettime.c:175,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gettime.c:179,2'
          Dst:             sudo_gettime_real_v1
    - functionName:    sudo_gettime_real_v1
      functionSourceFile: '/src/sudo/lib/util/./gettime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - clock_gettime
        - gettimeofday
        - sudo_debug_printf2_v1
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './gettime.c:63,9'
          Dst:             clock_gettime
        - Src:             './gettime.c:66,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gettime.c:68,6'
          Dst:             gettimeofday
    - functionName:    clock_gettime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gettimeofday
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gettime_mono_v1
      functionSourceFile: '/src/sudo/lib/util/./gettime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          86
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - clock_gettime
        - sudo_debug_printf2_v1
        - sudo_gettime_real_v1
        - sysconf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './gettime.c:102,18'
          Dst:             sysconf
        - Src:             './gettime.c:105,2'
          Dst:             sudo_gettime_real_v1
        - Src:             './gettime.c:106,9'
          Dst:             clock_gettime
        - Src:             './gettime.c:107,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gettime.c:111,2'
          Dst:             sudo_gettime_real_v1
    - functionName:    sudo_parse_gids_v1
      functionSourceFile: '/src/sudo/lib/util/./gidlist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          239
      EdgeCount:       55
      CyclomaticComplexity: 13
      functionsReached:
        - reallocarray
        - sudo_strtoidx_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './gidlist.c:59,9'
          Dst:             reallocarray
        - Src:             './gidlist.c:61,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './gidlist.c:61,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './gidlist.c:61,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './gidlist.c:69,34'
          Dst:             sudo_strtoidx_v1
        - Src:             './gidlist.c:71,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './gidlist.c:71,32'
          Dst:             sudo_warn_gettext_v1
        - Src:             './gidlist.c:71,3'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    sudo_hexchar_v1
      functionSourceFile: '/src/sudo/lib/util/./hexchar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          225
      EdgeCount:       77
      CyclomaticComplexity: 40
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   './hexchar.c:37,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sudo_new_key_val_v1
      functionSourceFile: '/src/sudo/lib/util/./key_val.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          79
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
      functionUses:    33
      BranchProfiles:  []
      Callsites:
        - Src:             './key_val.c:35,22'
          Dst:             strlen
        - Src:             './key_val.c:36,22'
          Dst:             strlen
    - functionName:    sudo_lbuf_clearerr_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 488
      functionLinenumberEnd: 491
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_lbuf_println
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          344
      EdgeCount:       68
      CyclomaticComplexity: 18
      functionsReached:
        - __ctype_b_loc
        - memchr
        - memrchr
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:371,27'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:376,12'
          Dst:             strlen
        - Src:             './lbuf.c:390,16'
          Dst:             memrchr
        - Src:             './lbuf.c:391,8'
          Dst:             memchr
        - Src:             './lbuf.c:419,24'
          Dst:             __ctype_b_loc
    - functionName:    sudo_lbuf_print_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 476
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          244
      EdgeCount:       48
      CyclomaticComplexity: 13
      functionsReached:
        - memchr
        - strlen
        - sudo_lbuf_println
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:447,32'
          Dst:             strlen
        - Src:             './lbuf.c:463,16'
          Dst:             memchr
        - Src:             './lbuf.c:466,3'
          Dst:             sudo_lbuf_println
    - functionName:    sudo_lbuf_append_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         69
      ICount:          496
      EdgeCount:       92
      CyclomaticComplexity: 25
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - atoi
        - strlen
        - sudo_debug_printf2_v1
        - sudo_lbuf_error_v1
        - sudo_lbuf_expand
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:286,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './lbuf.c:291,23'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:296,13'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:303,7'
          Dst:             __errno_location
        - Src:             './lbuf.c:304,7'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lbuf.c:311,13'
          Dst:             atoi
        - Src:             './lbuf.c:320,27'
          Dst:             strlen
        - Src:             './lbuf.c:321,12'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:336,26'
          Dst:             strlen
        - Src:             './lbuf.c:337,11'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:344,7'
          Dst:             sudo_lbuf_expand
    - functionName:    sudo_lbuf_error_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atoi
      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:    sudo_lbuf_expand
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          184
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - realloc
        - sudo_debug_printf2_v1
        - sudo_pow2_roundup_v2
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:73,2'
          Dst:             __errno_location
        - Src:             './lbuf.c:74,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lbuf.c:82,20'
          Dst:             sudo_pow2_roundup_v2
        - Src:             './lbuf.c:86,6'
          Dst:             __errno_location
        - Src:             './lbuf.c:87,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lbuf.c:94,17'
          Dst:             realloc
        - Src:             './lbuf.c:95,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_lbuf_append_quoted_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          349
      EdgeCount:       60
      CyclomaticComplexity: 16
      functionsReached:
        - strchr
        - strlen
        - strpbrk
        - sudo_lbuf_error_v1
        - sudo_lbuf_expand
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:227,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './lbuf.c:235,19'
          Dst:             strpbrk
        - Src:             './lbuf.c:237,8'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:246,23'
          Dst:             strlen
        - Src:             './lbuf.c:247,8'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:255,7'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:257,6'
          Dst:             strchr
    - functionName:    escape
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          101
      EdgeCount:       21
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './lbuf.c:118,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sudo_lbuf_append_esc_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          526
      EdgeCount:       103
      CyclomaticComplexity: 28
      functionsReached:
        - __ctype_b_loc
        - escape
        - sudo_lbuf_error_v1
        - sudo_lbuf_expand
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:151,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './lbuf.c:166,7'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:166,7'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:167,12'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:169,20'
          Dst:             escape
        - Src:             './lbuf.c:173,12'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:179,8'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:186,6'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:186,6'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:187,11'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:193,16'
          Dst:             escape
        - Src:             './lbuf.c:197,7'
          Dst:             sudo_lbuf_expand
    - functionName:    sudo_lbuf_destroy_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          36
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_lbuf_init_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          63
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_logfac2str_v1
      functionSourceFile: '/src/sudo/lib/util/./logfac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_str2logfac_v1
      functionSourceFile: '/src/sudo/lib/util/./logfac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './logfac.c:66,6'
          Dst:             strcmp
    - functionName:    sudo_login_name_max_v1
      functionSourceFile: '/src/sudo/lib/util/./login_max.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sysconf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './login_max.c:45,9'
          Dst:             sysconf
    - functionName:    sudo_logpri2str_v1
      functionSourceFile: '/src/sudo/lib/util/./logpri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_str2logpri_v1
      functionSourceFile: '/src/sudo/lib/util/./logpri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './logpri.c:61,6'
          Dst:             strcmp
    - functionName:    sudo_parseln_v1
      functionSourceFile: '/src/sudo/lib/util/./parseln.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 124
      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:
        - sudo_parseln_v2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './parseln.c:124,12'
          Dst:             sudo_parseln_v2
    - functionName:    sudo_parseln_v2
      functionSourceFile: '/src/sudo/lib/util/./parseln.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         78
      ICount:          444
      EdgeCount:       103
      CyclomaticComplexity: 27
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - getdelim
        - realloc
        - strchr
        - sudo_debug_printf2_v1
        - sudo_pow2_roundup_v2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './parseln.c:55,8'
          Dst:             getdelim
        - Src:             './parseln.c:66,12'
          Dst:             strchr
        - Src:             './parseln.c:82,24'
          Dst:             __ctype_b_loc
        - Src:             './parseln.c:85,18'
          Dst:             __ctype_b_loc
        - Src:             './parseln.c:90,29'
          Dst:             sudo_pow2_roundup_v2
        - Src:             './parseln.c:95,3'
          Dst:             __errno_location
        - Src:             './parseln.c:96,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './parseln.c:102,20'
          Dst:             realloc
        - Src:             './parseln.c:103,3'
          Dst:             sudo_debug_printf2_v1
    - functionName:    initprogname
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - initprogname2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './progname.c:94,5'
          Dst:             initprogname2
    - functionName:    initprogname2
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          157
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - strcmp
        - sudo_basename_v1
        - sudo_getprogname
        - sudo_setprogname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './progname.c:62,21'
          Dst:             sudo_getprogname
        - Src:             './progname.c:66,9'
          Dst:             sudo_basename_v1
        - Src:             './progname.c:80,10'
          Dst:             strcmp
        - Src:             './progname.c:87,2'
          Dst:             sudo_setprogname
    - functionName:    sudo_getprogname
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_setprogname
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_basename_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './progname.c:51,18'
          Dst:             sudo_basename_v1
    - functionName:    sudo_rcstr_delref
      functionSourceFile: '/src/sudo/lib/util/./rcstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          55
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    25
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_rcstr_addref
      functionSourceFile: '/src/sudo/lib/util/./rcstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       8
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_rcstr_alloc
      functionSourceFile: '/src/sudo/lib/util/./rcstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          51
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_rcstr_dup
      functionSourceFile: '/src/sudo/lib/util/./rcstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - sudo_rcstr_alloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './rcstr.c:42,18'
          Dst:             strlen
        - Src:             './rcstr.c:46,11'
          Dst:             sudo_rcstr_alloc
    - functionName:    parse_num
      functionSourceFile: '/src/sudo/lib/util/./regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          153
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - __ctype_b_loc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './regex.c:50,20'
          Dst:             __ctype_b_loc
        - Src:             './regex.c:52,12'
          Dst:             __ctype_b_loc
    - functionName:    check_pattern
      functionSourceFile: '/src/sudo/lib/util/./regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         63
      ICount:          296
      EdgeCount:       77
      CyclomaticComplexity: 16
      functionsReached:
        - parse_num
      functionUses:    1
      BranchProfiles:
        - Branch String:   './regex.c:81,2'
          Branch Sides:    []
        - Branch String:   './regex.c:104,6'
          Branch Sides:    []
      Callsites:
        - Src:             './regex.c:103,11'
          Dst:             parse_num
        - Src:             './regex.c:112,8'
          Dst:             parse_num
    - functionName:    sudo_regex_compile_v1
      functionSourceFile: '/src/sudo/lib/util/./regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          208
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - check_pattern
        - regcomp
        - regerror
        - regfree
        - strdup
        - strlen
        - strncmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './regex.c:157,9'
          Dst:             strlen
        - Src:             './regex.c:164,9'
          Dst:             strncmp
        - Src:             './regex.c:166,9'
          Dst:             strdup
        - Src:             './regex.c:176,15'
          Dst:             check_pattern
        - Src:             './regex.c:178,12'
          Dst:             regcomp
        - Src:             './regex.c:181,6'
          Dst:             regfree
        - Src:             './regex.c:183,9'
          Dst:             regerror
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pow2_roundup_v2
      functionSourceFile: '/src/sudo/lib/util/./roundup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pow2_roundup_v1
      functionSourceFile: '/src/sudo/lib/util/./roundup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_open_conf_path_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          141
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - fcntl
        - open
        - strlen
        - sudo_strsplit_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:175,23'
          Dst:             strlen
        - Src:             './secure_path.c:176,15'
          Dst:             sudo_strsplit_v1
        - Src:             './secure_path.c:184,6'
          Dst:             __errno_location
        - Src:             './secure_path.c:191,38'
          Dst:             open
        - Src:             './secure_path.c:193,31'
          Dst:             fcntl
        - Src:             './secure_path.c:193,12'
          Dst:             fcntl
        - Src:             './secure_path.c:196,6'
          Dst:             __errno_location
        - Src:             './secure_path.c:177,19'
          Dst:             sudo_strsplit_v1
    - functionName:    sudo_secure_open_dir_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_secure_open
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:157,12'
          Dst:             sudo_secure_open
    - functionName:    sudo_secure_open
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          150
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - close
        - fcntl
        - fstat
        - open
        - sudo_check_secure
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:126,10'
          Dst:             open
        - Src:             './secure_path.c:127,21'
          Dst:             fstat
        - Src:             './secure_path.c:129,6'
          Dst:             close
        - Src:             './secure_path.c:134,14'
          Dst:             sudo_check_secure
        - Src:             './secure_path.c:136,27'
          Dst:             fcntl
        - Src:             './secure_path.c:136,8'
          Dst:             fcntl
        - Src:             './secure_path.c:139,2'
          Dst:             close
    - functionName:    sudo_check_secure
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          113
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_secure_open_file_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_secure_open
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:150,12'
          Dst:             sudo_secure_open
    - functionName:    sudo_secure_fd_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - fstat
        - sudo_check_secure
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:103,21'
          Dst:             fstat
        - Src:             './secure_path.c:104,8'
          Dst:             sudo_check_secure
    - functionName:    sudo_secure_dir_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_secure_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:90,12'
          Dst:             sudo_secure_path
    - functionName:    sudo_secure_path
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - stat
        - sudo_check_secure
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:68,25'
          Dst:             stat
        - Src:             './secure_path.c:69,8'
          Dst:             sudo_check_secure
    - functionName:    sudo_secure_file_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_secure_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:81,12'
          Dst:             sudo_secure_path
    - functionName:    sudo_strlcat
      functionSourceFile: '/src/sudo/lib/util/./strlcat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          130
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './strlcat.c:52,17'
          Dst:             strlen
    - functionName:    sudo_strlcpy
      functionSourceFile: '/src/sudo/lib/util/./strlcpy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          98
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_strsplit_v1
      functionSourceFile: '/src/sudo/lib/util/./strsplit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          190
      EdgeCount:       47
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_strtobool_v1
      functionSourceFile: '/src/sudo/lib/util/./strtobool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         60
      ICount:          231
      EdgeCount:       66
      CyclomaticComplexity: 8
      functionsReached:
        - strcasecmp
        - sudo_debug_printf2_v1
      functionUses:    3
      BranchProfiles:
        - Branch String:   './strtobool.c:34,5'
          Branch Sides:    []
      Callsites:
        - Src:             './strtobool.c:42,10'
          Dst:             strcasecmp
        - Src:             './strtobool.c:47,10'
          Dst:             strcasecmp
        - Src:             './strtobool.c:52,10'
          Dst:             strcasecmp
        - Src:             './strtobool.c:54,10'
          Dst:             strcasecmp
        - Src:             './strtobool.c:59,10'
          Dst:             strcasecmp
        - Src:             './strtobool.c:64,10'
          Dst:             strcasecmp
        - Src:             './strtobool.c:68,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_strtoid_v2
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_strtoidx_v1
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             './strtoid.c:102,12'
          Dst:             sudo_strtoidx_v1
    - functionName:    sudo_strtoidx_v1
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          110
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - sudo_strtonumx
        - valid_separator
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './strtoid.c:72,17'
          Dst:             sudo_strtonumx
        - Src:             './strtoid.c:78,51'
          Dst:             valid_separator
        - Src:             './strtoid.c:80,6'
          Dst:             __errno_location
    - functionName:    valid_separator
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          69
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_strtoid_v1
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 95
      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:
        - sudo_strtoidx_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './strtoid.c:95,12'
          Dst:             sudo_strtoidx_v1
    - functionName:    sudo_strtomode_v1
      functionSourceFile: '/src/sudo/lib/util/./strtomode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_strtomode_v2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './strtomode.c:65,17'
          Dst:             sudo_strtomode_v2
    - functionName:    sudo_strtomode_v2
      functionSourceFile: '/src/sudo/lib/util/./strtomode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          149
      EdgeCount:       37
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - strtol
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './strtomode.c:43,5'
          Dst:             __errno_location
        - Src:             './strtomode.c:44,12'
          Dst:             strtol
        - Src:             './strtomode.c:48,2'
          Dst:             __errno_location
        - Src:             './strtomode.c:54,2'
          Dst:             __errno_location
    - functionName:    sudo_strtonum
      functionSourceFile: '/src/sudo/lib/util/./strtonum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - sudo_strtonumx
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             './strtonum.c:177,11'
          Dst:             sudo_strtonumx
        - Src:             './strtonum.c:180,2'
          Dst:             __errno_location
    - functionName:    sudo_strtonumx
      functionSourceFile: '/src/sudo/lib/util/./strtonum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         92
      ICount:          487
      EdgeCount:       113
      CyclomaticComplexity: 23
      functionsReached:
        - __ctype_b_loc
        - __errno_location
      functionUses:    2
      BranchProfiles:
        - Branch String:   './strtonum.c:59,5'
          Branch Sides:    []
        - Branch String:   './strtonum.c:132,5'
          Branch Sides:    []
      Callsites:
        - Src:             './strtonum.c:58,14'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:89,11'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:96,12'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:111,11'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:118,12'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:140,2'
          Dst:             __errno_location
        - Src:             './strtonum.c:146,2'
          Dst:             __errno_location
        - Src:             './strtonum.c:152,2'
          Dst:             __errno_location
    - functionName:    sudo_debug_get_fds_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1177
      functionLinenumberEnd: 1178
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_update_fd_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1173
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_set_active_instance_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1166
      functionLinenumberEnd: 1167
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_get_active_instance_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1160
      functionLinenumberEnd: 1161
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_execve2_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1155
      functionLinenumberEnd: 1156
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_printf2_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1149
      functionLinenumberEnd: 1150
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    106
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_vprintf2_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1136
      functionLinenumberEnd: 1137
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_needed_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1129
      functionLinenumberEnd: 1130
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_write2_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1124
      functionLinenumberEnd: 1125
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_ptr_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1118
      functionLinenumberEnd: 1119
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_str_masked_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1112
      functionLinenumberEnd: 1113
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_str_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1106
      functionLinenumberEnd: 1107
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_bool_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1100
      functionLinenumberEnd: 1101
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_mode_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1094
      functionLinenumberEnd: 1095
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_time_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1088
      functionLinenumberEnd: 1089
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_ssize_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1082
      functionLinenumberEnd: 1083
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_size_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1076
      functionLinenumberEnd: 1077
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_id_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1070
      functionLinenumberEnd: 1071
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_long_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1064
      functionLinenumberEnd: 1065
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_uint_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1058
      functionLinenumberEnd: 1059
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_int_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1052
      functionLinenumberEnd: 1053
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1046
      functionLinenumberEnd: 1047
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_enter_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1040
      functionLinenumberEnd: 1041
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_fork_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1033
      functionLinenumberEnd: 1034
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fork
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './sudo_debug.c:1034,12'
          Dst:             fork
    - functionName:    fork
      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:    sudo_debug_get_instance_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1027
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_parse_flags_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1021
      functionLinenumberEnd: 1022
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_deregister_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1014
      functionLinenumberEnd: 1015
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_register_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1008
      functionLinenumberEnd: 1009
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_register_v2
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1001
      functionLinenumberEnd: 1002
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_uuid_from_string_v1
      functionSourceFile: '/src/sudo/lib/util/./uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          120
      EdgeCount:       24
      CyclomaticComplexity: 5
      functionsReached:
        - strlen
        - sudo_hexchar_v1
      functionUses:    0
      BranchProfiles:
        - Branch String:   './uuid.c:113,2'
          Branch Sides:    []
      Callsites:
        - Src:             './uuid.c:108,9'
          Dst:             strlen
        - Src:             './uuid.c:120,11'
          Dst:             sudo_hexchar_v1
    - functionName:    sudo_uuid_to_string_v1
      functionSourceFile: '/src/sudo/lib/util/./uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          107
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './uuid.c:87,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sudo_uuid_create_v1
      functionSourceFile: '/src/sudo/lib/util/./uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ntohl
        - ntohs
        - sudo_arc4random_buf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './uuid.c:52,5'
          Dst:             sudo_arc4random_buf
        - Src:             './uuid.c:63,21'
          Dst:             ntohl
        - Src:             './uuid.c:64,21'
          Dst:             ntohs
        - Src:             './uuid.c:65,32'
          Dst:             ntohs
    - 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:    1
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chacha_encrypt_bytes
      functionSourceFile: '/src/sudo/lib/util/./chacha_private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         60
      ICount:          1588
      EdgeCount:       67
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chacha_ivsetup
      functionSourceFile: '/src/sudo/lib/util/./chacha_private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          76
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chacha_keysetup
      functionSourceFile: '/src/sudo/lib/util/./chacha_private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          391
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _rs_init
      functionSourceFile: '/src/sudo/lib/util/./arc4random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - chacha_ivsetup
        - chacha_keysetup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './arc4random.c:85,2'
          Dst:             chacha_keysetup
        - Src:             './arc4random.c:86,2'
          Dst:             chacha_ivsetup
    - functionName:    _rs_stir
      functionSourceFile: '/src/sudo/lib/util/./arc4random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - _rs_init
        - _rs_rekey
        - explicit_bzero
        - getentropy
        - sudo_fatal_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './arc4random.c:94,6'
          Dst:             getentropy
        - Src:             './arc4random.c:95,3'
          Dst:             sudo_fatal_nodebug_v1
        - Src:             './arc4random.c:99,3'
          Dst:             _rs_init
        - Src:             './arc4random.c:101,3'
          Dst:             _rs_rekey
        - Src:             './arc4random.c:102,2'
          Dst:             explicit_bzero
    - 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:    _rs_rekey
      functionSourceFile: '/src/sudo/lib/util/./arc4random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          76
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _rs_init
        - chacha_encrypt_bytes
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './arc4random.c:130,2'
          Dst:             chacha_encrypt_bytes
        - Src:             './arc4random.c:140,2'
          Dst:             _rs_init
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _rs_stir_if_needed
      functionSourceFile: '/src/sudo/lib/util/./arc4random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          54
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _rs_stir
        - getpid
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './arc4random.c:114,14'
          Dst:             getpid
        - Src:             './arc4random.c:118,3'
          Dst:             _rs_stir
    - 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:    _rs_random_buf
      functionSourceFile: '/src/sudo/lib/util/./arc4random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          95
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _rs_rekey
        - _rs_stir_if_needed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './arc4random.c:152,2'
          Dst:             _rs_stir_if_needed
        - Src:             './arc4random.c:164,4'
          Dst:             _rs_rekey
    - functionName:    sudo_arc4random_buf
      functionSourceFile: '/src/sudo/lib/util/./arc4random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _rs_random_buf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './arc4random.c:197,2'
          Dst:             _rs_random_buf
    - functionName:    _rs_random_u32
      functionSourceFile: '/src/sudo/lib/util/./arc4random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _rs_rekey
        - _rs_stir_if_needed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './arc4random.c:173,2'
          Dst:             _rs_stir_if_needed
        - Src:             './arc4random.c:175,3'
          Dst:             _rs_rekey
    - functionName:    sudo_arc4random
      functionSourceFile: '/src/sudo/lib/util/./arc4random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _rs_random_u32
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './arc4random.c:188,2'
          Dst:             _rs_random_u32
...
