---
Fuzzer filename: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    alias_warned_add
      functionSourceFile: '/src/sudo/plugins/sudoers/./check_aliases.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_warned
      functionSourceFile: '/src/sudo/plugins/sudoers/./check_aliases.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          73
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './check_aliases.c:48,6'
          Dst:             strcmp
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    60
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_alias
      functionSourceFile: '/src/sudo/plugins/sudoers/./check_aliases.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - int
        - int
        - bool
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          172
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - alias_get
        - alias_put
        - alias_type_to_string
        - alias_warned
        - alias_warned_add
        - check_alias
        - parser_warnx
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './check_aliases.c:80,14'
          Dst:             alias_get
        - Src:             './check_aliases.c:85,16'
          Dst:             check_alias
        - Src:             './check_aliases.c:88,2'
          Dst:             alias_put
        - Src:             './check_aliases.c:90,7'
          Dst:             alias_warned
        - Src:             './check_aliases.c:91,10'
          Dst:             __errno_location
        - Src:             './check_aliases.c:93,33'
          Dst:             alias_type_to_string
        - Src:             './check_aliases.c:92,3'
          Dst:             parser_warnx
        - Src:             './check_aliases.c:97,7'
          Dst:             alias_type_to_string
        - Src:             './check_aliases.c:95,3'
          Dst:             parser_warnx
        - Src:             './check_aliases.c:99,6'
          Dst:             alias_warned_add
    - 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:    56
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./check_aliases.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - bool
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          488
      EdgeCount:       96
      CyclomaticComplexity: 22
      functionsReached:
        - alias_apply
        - alias_find_used
        - alloc_aliases
        - check_alias
        - free_aliases
        - no_aliases
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './check_aliases.c:126,20'
          Dst:             alloc_aliases
        - Src:             './check_aliases.c:128,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './check_aliases.c:128,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './check_aliases.c:128,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './check_aliases.c:136,13'
          Dst:             check_alias
        - Src:             './check_aliases.c:143,17'
          Dst:             check_alias
        - Src:             './check_aliases.c:151,18'
          Dst:             check_alias
        - Src:             './check_aliases.c:159,18'
          Dst:             check_alias
        - Src:             './check_aliases.c:165,17'
          Dst:             check_alias
        - Src:             './check_aliases.c:177,10'
          Dst:             alias_find_used
        - Src:             './check_aliases.c:179,5'
          Dst:             free_aliases
        - Src:             './check_aliases.c:182,10'
          Dst:             no_aliases
        - Src:             './check_aliases.c:183,7'
          Dst:             alias_apply
    - functionName:    new_long_entry
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         166
      ICount:          900
      EdgeCount:       217
      CyclomaticComplexity: 53
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:115,42'
          Dst:             strcmp
        - Src:             './display.c:117,52'
          Dst:             strcmp
        - Src:             './display.c:119,40'
          Dst:             strcmp
        - Src:             './display.c:121,40'
          Dst:             strcmp
        - Src:             './display.c:123,64'
          Dst:             strcmp
        - Src:             './display.c:125,50'
          Dst:             strcmp
        - Src:             './display.c:127,44'
          Dst:             strcmp
    - functionName:    display_priv_short
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          306
      EdgeCount:       63
      CyclomaticComplexity: 16
      functionsReached:
        - hostlist_matches
        - sudo_lbuf_append_v1
        - sudoers_defaults_list_to_tags
        - sudoers_format_cmndspec
        - sudoers_format_member
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:50,6'
          Dst:             hostlist_matches
        - Src:             './display.c:53,2'
          Dst:             sudoers_defaults_list_to_tags
        - Src:             './display.c:62,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:63,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:67,8'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:68,4'
          Dst:             sudoers_format_member
        - Src:             './display.c:72,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:74,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:77,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:80,8'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:81,4'
          Dst:             sudoers_format_member
        - Src:             './display.c:85,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:86,3'
          Dst:             sudoers_format_cmndspec
        - Src:             './display.c:90,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:91,3'
          Dst:             sudoers_format_cmndspec
        - Src:             './display.c:96,2'
          Dst:             sudo_lbuf_append_v1
    - functionName:    display_priv_long
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          105
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - display_cmndspec_long
        - hostlist_matches
        - sudo_lbuf_append_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:270,6'
          Dst:             hostlist_matches
        - Src:             './display.c:273,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:275,6'
          Dst:             display_cmndspec_long
    - functionName:    display_cmndspec_long
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         126
      ICount:          801
      EdgeCount:       166
      CyclomaticComplexity: 42
      functionsReached:
        - dgettext
        - gmtime_r
        - new_long_entry
        - snprintf
        - strftime
        - sudo_lbuf_append_v1
        - sudoers_format_default
        - sudoers_format_member
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:148,9'
          Dst:             new_long_entry
        - Src:             './display.c:152,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:154,29'
          Dst:             dgettext
        - Src:             './display.c:154,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:157,29'
          Dst:             dgettext
        - Src:             './display.c:157,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:160,31'
          Dst:             dgettext
        - Src:             './display.c:160,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:164,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:165,3'
          Dst:             sudoers_format_member
        - Src:             './display.c:169,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:171,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:173,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:175,35'
          Dst:             dgettext
        - Src:             './display.c:175,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:178,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:179,3'
          Dst:             sudoers_format_member
        - Src:             './display.c:182,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:185,31'
          Dst:             dgettext
        - Src:             './display.c:185,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:187,6'
          Dst:             sudoers_format_default
        - Src:             './display.c:188,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:191,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:193,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:195,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:197,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:199,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:201,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:204,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:209,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:213,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:215,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:217,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:219,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:221,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:223,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:226,12'
          Dst:             snprintf
        - Src:             './display.c:227,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:233,10'
          Dst:             gmtime_r
        - Src:             './display.c:234,9'
          Dst:             strftime
        - Src:             './display.c:236,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:243,10'
          Dst:             gmtime_r
        - Src:             './display.c:244,9'
          Dst:             strftime
        - Src:             './display.c:246,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:249,31'
          Dst:             dgettext
        - Src:             './display.c:249,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:251,5'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:252,5'
          Dst:             sudoers_format_member
        - Src:             './display.c:254,5'
          Dst:             sudo_lbuf_append_v1
    - 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:    21
      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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gmtime_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strftime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    display_bound_defaults_by_type
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 406
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          215
      EdgeCount:       43
      CyclomaticComplexity: 8
      functionsReached:
        - sudo_lbuf_append_v1
        - sudo_lbuf_error_v1
        - sudoers_format_default
        - sudoers_format_member
      functionUses:    2
      BranchProfiles:
        - Branch String:   './display.c:362,5'
          Branch Sides:    []
      Callsites:
        - Src:             './display.c:390,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:391,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:394,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:395,3'
          Dst:             sudoers_format_member
        - Src:             './display.c:397,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:399,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:400,2'
          Dst:             sudoers_format_default
        - Src:             './display.c:403,9'
          Dst:             sudo_lbuf_error_v1
    - functionName:    display_cmnd_check
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 548
      functionLinenumberEnd: 600
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          292
      EdgeCount:       48
      CyclomaticComplexity: 13
      functionsReached:
        - cmnd_matches
        - hostlist_matches
        - runaslist_matches
        - sudo_basename_v1
        - userlist_matches
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:563,27'
          Dst:             sudo_basename_v1
        - Src:             './display.c:566,6'
          Dst:             userlist_matches
        - Src:             './display.c:569,19'
          Dst:             hostlist_matches
        - Src:             './display.c:581,17'
          Dst:             runaslist_matches
        - Src:             './display.c:584,20'
          Dst:             cmnd_matches
    - functionName:    display_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 655
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          215
      EdgeCount:       42
      CyclomaticComplexity: 10
      functionsReached:
        - display_cmnd_check
        - display_cmndspec_long
        - output
        - sudo_lbuf_append_v1
        - sudo_lbuf_destroy_v1
        - sudo_lbuf_error_v1
        - sudo_lbuf_init_v1
        - sudo_lbuf_print_v1
        - sudo_nss_can_continue
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:621,5'
          Dst:             time
        - Src:             './display.c:622,5'
          Dst:             sudo_lbuf_init_v1
        - Src:             './display.c:622,5'
          Dst:             output
        - Src:             './display.c:629,6'
          Dst:             display_cmnd_check
        - Src:             './display.c:633,7'
          Dst:             sudo_nss_can_continue
        - Src:             './display.c:643,6'
          Dst:             display_cmndspec_long
        - Src:             './display.c:645,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:647,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:650,2'
          Dst:             sudo_lbuf_print_v1
        - Src:             './display.c:651,8'
          Dst:             sudo_lbuf_error_v1
        - Src:             './display.c:652,2'
          Dst:             sudo_lbuf_destroy_v1
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    output
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:443,5'
          Dst:             strlen
    - 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:    55
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_display_userspecs
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          111
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - display_priv_long
        - display_priv_short
        - sudo_lbuf_error_v1
        - userlist_matches
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:293,6'
          Dst:             userlist_matches
        - Src:             './display.c:297,16'
          Dst:             display_priv_long
        - Src:             './display.c:299,16'
          Dst:             display_priv_short
        - Src:             './display.c:301,9'
          Dst:             sudo_lbuf_error_v1
    - functionName:    display_bound_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 427
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - display_bound_defaults_by_type
        - sudo_lbuf_error_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:419,15'
          Dst:             display_bound_defaults_by_type
        - Src:             './display.c:421,15'
          Dst:             display_bound_defaults_by_type
        - Src:             './display.c:424,9'
          Dst:             sudo_lbuf_error_v1
    - functionName:    display_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          178
      EdgeCount:       36
      CyclomaticComplexity: 7
      functionsReached:
        - __ctype_b_loc
        - hostlist_matches
        - sudo_lbuf_append_v1
        - sudo_lbuf_error_v1
        - sudoers_format_default
        - userlist_matches
      functionUses:    1
      BranchProfiles:
        - Branch String:   './display.c:324,2'
          Branch Sides:    []
      Callsites:
        - Src:             './display.c:318,27'
          Dst:             __ctype_b_loc
        - Src:             './display.c:326,7'
          Dst:             hostlist_matches
        - Src:             './display.c:330,7'
          Dst:             userlist_matches
        - Src:             './display.c:337,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:338,2'
          Dst:             sudoers_format_default
        - Src:             './display.c:342,9'
          Dst:             sudo_lbuf_error_v1
    - 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:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    display_privs
      functionSourceFile: '/src/sudo/plugins/sudoers/./display.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          347
      EdgeCount:       68
      CyclomaticComplexity: 17
      functionsReached:
        - dgettext
        - display_bound_defaults
        - display_defaults
        - fstat
        - output
        - sudo_display_userspecs
        - sudo_lbuf_append_v1
        - sudo_lbuf_destroy_v1
        - sudo_lbuf_error_v1
        - sudo_lbuf_init_v1
        - sudo_lbuf_print_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './display.c:467,9'
          Dst:             fstat
        - Src:             './display.c:469,5'
          Dst:             sudo_lbuf_init_v1
        - Src:             './display.c:469,5'
          Dst:             output
        - Src:             './display.c:470,5'
          Dst:             sudo_lbuf_init_v1
        - Src:             './display.c:470,5'
          Dst:             output
        - Src:             './display.c:472,32'
          Dst:             dgettext
        - Src:             './display.c:472,5'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:476,6'
          Dst:             display_defaults
        - Src:             './display.c:482,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:490,32'
          Dst:             dgettext
        - Src:             './display.c:490,5'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:494,6'
          Dst:             display_bound_defaults
        - Src:             './display.c:500,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:508,2'
          Dst:             dgettext
        - Src:             './display.c:507,5'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:513,10'
          Dst:             sudo_display_userspecs
        - Src:             './display.c:524,6'
          Dst:             dgettext
        - Src:             './display.c:523,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './display.c:527,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './display.c:527,38'
          Dst:             sudo_lbuf_error_v1
        - Src:             './display.c:530,5'
          Dst:             sudo_lbuf_print_v1
        - Src:             './display.c:531,5'
          Dst:             sudo_lbuf_print_v1
        - Src:             './display.c:533,5'
          Dst:             sudo_lbuf_destroy_v1
        - Src:             './display.c:534,5'
          Dst:             sudo_lbuf_destroy_v1
        - Src:             './display.c:538,5'
          Dst:             sudo_lbuf_destroy_v1
        - Src:             './display.c:539,5'
          Dst:             sudo_lbuf_destroy_v1
    - 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:    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:    3
      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:    0
      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:    1
      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:    1
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cb_unused
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 141
      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:    sudo_fuzz_query
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 135
      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:    open_data
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 163
      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_sudoers.c:163,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_sudoers.c'
      linkageType:     externalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         91
      ICount:          655
      EdgeCount:       125
      CyclomaticComplexity: 36
      functionsReached:
        - bindtextdomain
        - cb_unused
        - check_aliases
        - check_defaults
        - display_privs
        - expand_tilde
        - fclose
        - fflush
        - free_parse_tree
        - fuzz_conversation
        - get_interfaces
        - getenv
        - inet_pton
        - init_defaults
        - init_parse_tree
        - init_parser
        - initprogname
        - open_data
        - reparent_parse_tree
        - reset_parser
        - setlocale
        - strcmp
        - strdup
        - sudo_basename_v1
        - sudo_freegrcache
        - sudo_freepwcache
        - sudo_getgrnam
        - sudo_getprogname
        - sudo_getpwnam
        - sudo_gr_delref
        - sudo_mkgrent
        - sudo_mkpwent
        - sudo_pw_delref
        - sudo_set_gidlist
        - sudo_warn_set_conversation_v1
        - sudo_warn_set_locale_func_v1
        - sudo_warnx_nodebug_v1
        - sudoers_ctx_free
        - sudoers_debug_deregister
        - sudoers_debug_register
        - sudoers_initlocale
        - sudoers_lookup
        - sudoers_setlocale
        - sudoers_warn_setlocale
        - sudoersparse
        - sudoersrestart
        - textdomain
        - time
        - update_defaults
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_sudoers.c:215,10'
          Dst:             open_data
        - Src:             './regress/fuzz/fuzz_sudoers.c:219,5'
          Dst:             initprogname
        - Src:             './regress/fuzz/fuzz_sudoers.c:220,28'
          Dst:             sudo_getprogname
        - Src:             './regress/fuzz/fuzz_sudoers.c:220,5'
          Dst:             sudoers_debug_register
        - Src:             './regress/fuzz/fuzz_sudoers.c:221,9'
          Dst:             getenv
        - Src:             './regress/fuzz/fuzz_sudoers.c:222,2'
          Dst:             sudo_warn_set_conversation_v1
        - Src:             './regress/fuzz/fuzz_sudoers.c:222,2'
          Dst:             fuzz_conversation
        - Src:             './regress/fuzz/fuzz_sudoers.c:225,24'
          Dst:             setlocale
        - Src:             './regress/fuzz/fuzz_sudoers.c:225,5'
          Dst:             sudoers_initlocale
        - Src:             './regress/fuzz/fuzz_sudoers.c:226,5'
          Dst:             sudo_warn_set_locale_func_v1
        - Src:             './regress/fuzz/fuzz_sudoers.c:226,5'
          Dst:             sudoers_warn_setlocale
        - Src:             './regress/fuzz/fuzz_sudoers.c:227,5'
          Dst:             bindtextdomain
        - Src:             './regress/fuzz/fuzz_sudoers.c:228,5'
          Dst:             textdomain
        - Src:             './regress/fuzz/fuzz_sudoers.c:231,5'
          Dst:             sudoers_setlocale
        - Src:             './regress/fuzz/fuzz_sudoers.c:234,10'
          Dst:             sudo_mkgrent
        - Src:             './regress/fuzz/fuzz_sudoers.c:237,5'
          Dst:             sudo_gr_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:239,10'
          Dst:             sudo_mkgrent
        - Src:             './regress/fuzz/fuzz_sudoers.c:242,5'
          Dst:             sudo_gr_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:244,10'
          Dst:             sudo_mkgrent
        - Src:             './regress/fuzz/fuzz_sudoers.c:247,5'
          Dst:             sudo_gr_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:249,10'
          Dst:             sudo_mkgrent
        - Src:             './regress/fuzz/fuzz_sudoers.c:252,5'
          Dst:             sudo_gr_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:255,10'
          Dst:             sudo_mkpwent
        - Src:             './regress/fuzz/fuzz_sudoers.c:262,9'
          Dst:             sudo_set_gidlist
        - Src:             './regress/fuzz/fuzz_sudoers.c:264,5'
          Dst:             sudo_pw_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:266,10'
          Dst:             sudo_mkpwent
        - Src:             './regress/fuzz/fuzz_sudoers.c:271,9'
          Dst:             sudo_set_gidlist
        - Src:             './regress/fuzz/fuzz_sudoers.c:273,5'
          Dst:             sudo_pw_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:275,10'
          Dst:             sudo_mkpwent
        - Src:             './regress/fuzz/fuzz_sudoers.c:283,9'
          Dst:             sudo_set_gidlist
        - Src:             './regress/fuzz/fuzz_sudoers.c:285,5'
          Dst:             sudo_pw_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:288,38'
          Dst:             strdup
        - Src:             './regress/fuzz/fuzz_sudoers.c:289,40'
          Dst:             strdup
        - Src:             './regress/fuzz/fuzz_sudoers.c:291,21'
          Dst:             strdup
        - Src:             './regress/fuzz/fuzz_sudoers.c:292,26'
          Dst:             strdup
        - Src:             './regress/fuzz/fuzz_sudoers.c:296,26'
          Dst:             sudo_basename_v1
        - Src:             './regress/fuzz/fuzz_sudoers.c:297,5'
          Dst:             time
        - Src:             './regress/fuzz/fuzz_sudoers.c:300,18'
          Dst:             get_interfaces
        - Src:             './regress/fuzz/fuzz_sudoers.c:305,2'
          Dst:             inet_pton
        - Src:             './regress/fuzz/fuzz_sudoers.c:306,2'
          Dst:             inet_pton
        - Src:             './regress/fuzz/fuzz_sudoers.c:311,5'
          Dst:             init_parse_tree
        - Src:             './regress/fuzz/fuzz_sudoers.c:318,5'
          Dst:             init_defaults
        - Src:             './regress/fuzz/fuzz_sudoers.c:319,5'
          Dst:             init_parser
        - Src:             './regress/fuzz/fuzz_sudoers.c:320,5'
          Dst:             sudoersrestart
        - Src:             './regress/fuzz/fuzz_sudoers.c:321,5'
          Dst:             sudoersparse
        - Src:             './regress/fuzz/fuzz_sudoers.c:322,5'
          Dst:             reparent_parse_tree
        - Src:             './regress/fuzz/fuzz_sudoers.c:331,22'
          Dst:             strdup
        - Src:             './regress/fuzz/fuzz_sudoers.c:335,3'
          Dst:             sudo_pw_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:336,20'
          Dst:             sudo_getpwnam
        - Src:             './regress/fuzz/fuzz_sudoers.c:338,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './regress/fuzz/fuzz_sudoers.c:344,3'
          Dst:             sudo_pw_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:348,18'
          Dst:             sudo_getpwnam
        - Src:             './regress/fuzz/fuzz_sudoers.c:352,18'
          Dst:             sudo_getpwnam
        - Src:             './regress/fuzz/fuzz_sudoers.c:355,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './regress/fuzz/fuzz_sudoers.c:361,3'
          Dst:             sudo_gr_delref
        - Src:             './regress/fuzz/fuzz_sudoers.c:365,18'
          Dst:             sudo_getgrnam
        - Src:             './regress/fuzz/fuzz_sudoers.c:367,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './regress/fuzz/fuzz_sudoers.c:377,6'
          Dst:             update_defaults
        - Src:             './regress/fuzz/fuzz_sudoers.c:379,6'
          Dst:             sudoers_lookup
        - Src:             './regress/fuzz/fuzz_sudoers.c:383,6'
          Dst:             sudoers_lookup
        - Src:             './regress/fuzz/fuzz_sudoers.c:387,6'
          Dst:             display_privs
        - Src:             './regress/fuzz/fuzz_sudoers.c:388,6'
          Dst:             display_privs
        - Src:             './regress/fuzz/fuzz_sudoers.c:393,32'
          Dst:             strcmp
        - Src:             './regress/fuzz/fuzz_sudoers.c:394,3'
          Dst:             expand_tilde
        - Src:             './regress/fuzz/fuzz_sudoers.c:396,35'
          Dst:             strcmp
        - Src:             './regress/fuzz/fuzz_sudoers.c:397,3'
          Dst:             expand_tilde
        - Src:             './regress/fuzz/fuzz_sudoers.c:402,2'
          Dst:             check_defaults
        - Src:             './regress/fuzz/fuzz_sudoers.c:403,2'
          Dst:             check_aliases
        - Src:             './regress/fuzz/fuzz_sudoers.c:403,2'
          Dst:             cb_unused
        - Src:             './regress/fuzz/fuzz_sudoers.c:408,5'
          Dst:             fclose
        - Src:             './regress/fuzz/fuzz_sudoers.c:409,5'
          Dst:             free_parse_tree
        - Src:             './regress/fuzz/fuzz_sudoers.c:410,5'
          Dst:             reset_parser
        - Src:             './regress/fuzz/fuzz_sudoers.c:411,5'
          Dst:             sudoers_ctx_free
        - Src:             './regress/fuzz/fuzz_sudoers.c:412,5'
          Dst:             sudo_freepwcache
        - Src:             './regress/fuzz/fuzz_sudoers.c:413,5'
          Dst:             sudo_freegrcache
        - Src:             './regress/fuzz/fuzz_sudoers.c:414,5'
          Dst:             sudoers_setlocale
        - Src:             './regress/fuzz/fuzz_sudoers.c:415,5'
          Dst:             sudoers_debug_deregister
        - Src:             './regress/fuzz/fuzz_sudoers.c:416,5'
          Dst:             fflush
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzz_conversation
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 96
      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:    1
      BranchProfiles:
        - Branch String:   './regress/fuzz/fuzz_sudoers.c:81,2'
          Branch Sides:    []
      Callsites:       []
    - 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:    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:    textdomain
      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:    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:    39
      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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fclose
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    cb_log_output
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 155
      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_log_input
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 148
      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:    log_warningx
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mail_parse_errors
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_cmnd_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_sudoers.c:108,22'
          Dst:             strdup
    - functionName:    init_envtables
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    open_sudoers
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzz_printf
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_format_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          108
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - strpbrk
        - sudo_lbuf_append_quoted_v1
        - sudo_lbuf_append_v1
        - sudo_lbuf_error_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:304,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:306,6'
          Dst:             strpbrk
        - Src:             './fmtsudoers.c:307,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:308,6'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:309,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:311,6'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:313,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:315,5'
          Dst:             sudo_lbuf_error_v1
    - functionName:    strpbrk
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_format_cmndspec
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         215
      ICount:          1248
      EdgeCount:       291
      CyclomaticComplexity: 78
      functionsReached:
        - gmtime_r
        - snprintf
        - strftime
        - sudo_lbuf_append_v1
        - sudo_lbuf_error_v1
        - sudoers_format_member
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:238,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:240,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:242,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:244,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:246,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:248,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:250,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:253,8'
          Dst:             snprintf
        - Src:             './fmtsudoers.c:254,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:259,6'
          Dst:             gmtime_r
        - Src:             './fmtsudoers.c:260,19'
          Dst:             strftime
        - Src:             './fmtsudoers.c:262,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:268,6'
          Dst:             gmtime_r
        - Src:             './fmtsudoers.c:269,19'
          Dst:             strftime
        - Src:             './fmtsudoers.c:271,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:275,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:277,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:279,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:281,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:283,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:285,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:287,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:289,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:290,5'
          Dst:             sudoers_format_member
        - Src:             './fmtsudoers.c:292,5'
          Dst:             sudo_lbuf_error_v1
    - functionName:    sudoers_format_member
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudoers_format_member_int
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:145,12'
          Dst:             sudoers_format_member_int
    - functionName:    sudoers_format_member_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      bool
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - bool
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         75
      ICount:          473
      EdgeCount:       94
      CyclomaticComplexity: 21
      functionsReached:
        - alias_get
        - alias_put
        - digest_type_to_name
        - strpbrk
        - strspn
        - sudo_lbuf_append_quoted_v1
        - sudo_lbuf_append_v1
        - sudo_lbuf_error_v1
        - sudoers_format_member_int
      functionUses:    2
      BranchProfiles:
        - Branch String:   './fmtsudoers.c:53,5'
          Branch Sides:    []
      Callsites:
        - Src:             './fmtsudoers.c:55,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:61,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:69,7'
          Dst:             digest_type_to_name
        - Src:             './fmtsudoers.c:68,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:73,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:76,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:78,3'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:82,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:85,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:87,7'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:94,10'
          Dst:             strpbrk
        - Src:             './fmtsudoers.c:97,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:99,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:105,12'
          Dst:             alias_get
        - Src:             './fmtsudoers.c:108,8'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:109,4'
          Dst:             sudoers_format_member_int
        - Src:             './fmtsudoers.c:114,7'
          Dst:             alias_put
        - Src:             './fmtsudoers.c:123,8'
          Dst:             strspn
        - Src:             './fmtsudoers.c:124,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:126,7'
          Dst:             strpbrk
        - Src:             './fmtsudoers.c:127,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:128,7'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:129,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:131,7'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:137,5'
          Dst:             sudo_lbuf_error_v1
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_defaults_list_to_tags
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          177
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - sudo_debug_printf2_v1
        - sudoers_defaults_to_tags
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:201,11'
          Dst:             sudoers_defaults_to_tags
        - Src:             './fmtsudoers.c:203,7'
          Dst:             sudo_debug_printf2_v1
        - Src:             './fmtsudoers.c:207,7'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudoers_defaults_to_tags
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          264
      EdgeCount:       52
      CyclomaticComplexity: 14
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:160,6'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:162,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:164,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:166,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:168,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:170,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:172,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:174,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:175,6'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:176,6'
          Dst:             strcmp
    - functionName:    sudoers_locale_callback
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 155
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './locale.c:150,9'
          Dst:             sudoers_initlocale
        - Src:             './locale.c:151,6'
          Dst:             setlocale
    - functionName:    sudoers_initlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 75
      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:64,21'
          Dst:             strdup
        - Src:             './locale.c:69,24'
          Dst:             strdup
        - Src:             './locale.c:72,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudoers_warn_setlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudoers_setlocale
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './locale.c:137,2'
          Dst:             sudoers_setlocale
        - Src:             './locale.c:138,5'
          Dst:             sudoers_setlocale
    - functionName:    sudoers_setlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 128
      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:    8
      BranchProfiles:
        - Branch String:   './locale.c:89,5'
          Branch Sides:    []
      Callsites:
        - Src:             './locale.c:95,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './locale.c:98,9'
          Dst:             setlocale
        - Src:             './locale.c:100,21'
          Dst:             setlocale
        - Src:             './locale.c:102,18'
          Dst:             strdup
        - Src:             './locale.c:113,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './locale.c:116,9'
          Dst:             setlocale
        - Src:             './locale.c:118,11'
          Dst:             strcmp
        - Src:             './locale.c:120,21'
          Dst:             strdup
        - Src:             './locale.c:122,14'
          Dst:             setlocale
    - functionName:    sudoers_getlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    runas_matches_pw
      functionSourceFile: '/src/sudo/plugins/sudoers/./lookup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          89
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - userlist_matches
        - userpw_matches
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './lookup.c:42,2'
          Dst:             userlist_matches
        - Src:             './lookup.c:46,6'
          Dst:             userpw_matches
    - functionName:    apply_cmndspec
      functionSourceFile: '/src/sudo/plugins/sudoers/./lookup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         115
      ICount:          819
      EdgeCount:       147
      CyclomaticComplexity: 34
      functionsReached:
        - cb_log_input
        - cb_log_output
        - strdup
        - sudo_debug_printf2_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './lookup.c:323,21'
          Dst:             strdup
        - Src:             './lookup.c:325,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:326,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:325,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './lookup.c:334,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:340,21'
          Dst:             strdup
        - Src:             './lookup.c:342,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:343,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:342,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './lookup.c:351,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:358,36'
          Dst:             strdup
        - Src:             './lookup.c:360,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:361,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:360,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './lookup.c:370,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:376,25'
          Dst:             strdup
        - Src:             './lookup.c:378,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:379,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:378,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './lookup.c:388,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:393,30'
          Dst:             strdup
        - Src:             './lookup.c:395,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:396,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:395,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './lookup.c:405,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:410,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:415,19'
          Dst:             strdup
        - Src:             './lookup.c:417,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:418,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:417,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './lookup.c:421,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:426,22'
          Dst:             strdup
        - Src:             './lookup.c:428,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:429,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:428,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './lookup.c:432,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:437,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:442,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:447,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:452,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:457,6'
          Dst:             cb_log_input
        - Src:             './lookup.c:458,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:463,6'
          Dst:             cb_log_output
        - Src:             './lookup.c:464,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:470,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:476,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lookup.c:483,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudoers_lookup_check
      functionSourceFile: '/src/sudo/plugins/sudoers/./lookup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          421
      EdgeCount:       72
      CyclomaticComplexity: 18
      functionsReached:
        - cmnd_matches
        - hostlist_matches
        - runaslist_matches
        - sudo_debug_printf2_v1
        - userlist_matches
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './lookup.c:247,25'
          Dst:             userlist_matches
        - Src:             './lookup.c:258,29'
          Dst:             hostlist_matches
        - Src:             './lookup.c:281,21'
          Dst:             runaslist_matches
        - Src:             './lookup.c:284,17'
          Dst:             cmnd_matches
        - Src:             './lookup.c:296,7'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudoers_lookup_pseudo
      functionSourceFile: '/src/sudo/plugins/sudoers/./lookup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         134
      ICount:          763
      EdgeCount:       176
      CyclomaticComplexity: 44
      functionsReached:
        - cmnd_matches
        - cmnd_matches_all
        - hostlist_matches
        - runas_matches_pw
        - strcmp
        - sudo_getpwuid
        - sudo_nss_can_continue
        - sudo_pw_delref
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - userlist_matches
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lookup.c:152,4'
          Branch Sides:    []
      Callsites:
        - Src:             './lookup.c:77,12'
          Dst:             sudo_getpwuid
        - Src:             './lookup.c:79,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './lookup.c:79,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './lookup.c:100,29'
          Dst:             userlist_matches
        - Src:             './lookup.c:111,26'
          Dst:             hostlist_matches
        - Src:             './lookup.c:121,11'
          Dst:             strcmp
        - Src:             './lookup.c:150,18'
          Dst:             runas_matches_pw
        - Src:             './lookup.c:160,21'
          Dst:             cmnd_matches
        - Src:             './lookup.c:170,9'
          Dst:             runas_matches_pw
        - Src:             './lookup.c:173,18'
          Dst:             cmnd_matches_all
        - Src:             './lookup.c:210,7'
          Dst:             sudo_nss_can_continue
        - Src:             './lookup.c:214,2'
          Dst:             sudo_pw_delref
    - functionName:    sudoers_lookup
      functionSourceFile: '/src/sudo/plugins/sudoers/./lookup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          308
      EdgeCount:       69
      CyclomaticComplexity: 17
      functionsReached:
        - apply_cmndspec
        - restore_perms
        - set_perms
        - sudo_nss_can_continue
        - sudoers_lookup_check
        - sudoers_lookup_pseudo
        - update_defaults
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './lookup.c:513,2'
          Dst:             sudoers_lookup_pseudo
        - Src:             './lookup.c:518,10'
          Dst:             set_perms
        - Src:             './lookup.c:529,6'
          Dst:             sudoers_lookup_check
        - Src:             './lookup.c:536,7'
          Dst:             sudo_nss_can_continue
        - Src:             './lookup.c:549,12'
          Dst:             update_defaults
        - Src:             './lookup.c:550,7'
          Dst:             apply_cmndspec
        - Src:             './lookup.c:557,10'
          Dst:             restore_perms
    - functionName:    sudoers_ctx_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_ctx_free.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 88
      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:42,2'
          Dst:             sudo_pw_delref
        - Src:             './sudoers_ctx_free.c:44,2'
          Dst:             sudo_gidlist_delref
        - Src:             './sudoers_ctx_free.c:57,5'
          Dst:             canon_path_free
        - Src:             './sudoers_ctx_free.c:64,2'
          Dst:             sudo_pw_delref
        - Src:             './sudoers_ctx_free.c:66,2'
          Dst:             sudo_gr_delref
        - Src:             './sudoers_ctx_free.c:68,2'
          Dst:             sudo_pw_delref
    - functionName:    alias_remove_recursive
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 301
      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:291,14'
          Dst:             alias_remove
        - Src:             './alias.c:294,8'
          Dst:             alias_remove_recursive
        - Src:             './alias.c:298,6'
          Dst:             rbinsert
    - functionName:    alias_remove
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 249
      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:244,14'
          Dst:             rbfind
        - Src:             './alias.c:245,6'
          Dst:             rbdelete
        - Src:             './alias.c:247,5'
          Dst:             __errno_location
    - functionName:    alias_find_used_members
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 321
      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:316,11'
          Dst:             alias_remove_recursive
    - functionName:    alias_find_used
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 381
      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:    1
      BranchProfiles:
        - Branch String:   './alias.c:359,2'
          Branch Sides:    []
      Callsites:
        - Src:             './alias.c:340,12'
          Dst:             alias_find_used_members
        - Src:             './alias.c:343,16'
          Dst:             alias_find_used_members
        - Src:             './alias.c:346,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:348,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:351,12'
          Dst:             alias_remove_recursive
        - Src:             './alias.c:361,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:365,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:369,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:373,13'
          Dst:             alias_find_used_members
    - functionName:    alias_type_to_string
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - alias_free
        - rbdestroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:265,2'
          Dst:             rbdestroy
        - Src:             './alias.c:265,2'
          Dst:             alias_free
    - functionName:    alias_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 228
      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:222,2'
          Dst:             sudo_rcstr_delref
        - Src:             './alias.c:223,2'
          Dst:             free_members
    - functionName:    alias_compare
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 59
      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:57,21'
          Dst:             strcmp
    - functionName:    no_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_apply_func
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 174
      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: 184
      functionLinenumberEnd: 197
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:193,6'
          Dst:             rbapply_node
        - Src:             './alias.c:193,6'
          Dst:             alias_apply_func
    - functionName:    alloc_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - alias_compare
        - rbcreate
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:256,5'
          Dst:             rbcreate
        - Src:             './alias.c:256,5'
          Dst:             alias_compare
    - functionName:    alias_add
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 156
      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:136,5'
          Branch Sides:    []
      Callsites:
        - Src:             './alias.c:125,29'
          Dst:             alloc_aliases
        - Src:             './alias.c:129,9'
          Dst:             calloc
        - Src:             './alias.c:136,13'
          Dst:             rbinsert
        - Src:             './alias.c:139,2'
          Dst:             __errno_location
        - Src:             './alias.c:151,15'
          Dst:             sudo_rcstr_addref
    - 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:    26
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_put
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_get
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 98
      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:    9
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:82,17'
          Dst:             rbfind
        - Src:             './alias.c:90,6'
          Dst:             __errno_location
        - Src:             './alias.c:95,2'
          Dst:             __errno_location
    - functionName:    compare
      functionSourceFile: '/src/sudo/plugins/sudoers/./canon_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 61
      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:61,12'
          Dst:             strcmp
    - functionName:    canon_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./canon_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 200
      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:    0
      BranchProfiles:
        - Branch String:   './canon_path.c:171,5'
          Branch Sides:    []
      Callsites:
        - Src:             './canon_path.c:127,16'
          Dst:             rbcreate
        - Src:             './canon_path.c:127,16'
          Dst:             compare
        - Src:             './canon_path.c:129,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './canon_path.c:129,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './canon_path.c:129,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './canon_path.c:135,14'
          Dst:             rbfind
        - Src:             './canon_path.c:150,13'
          Dst:             realpath
        - Src:             './canon_path.c:152,13'
          Dst:             strlen
        - Src:             './canon_path.c:156,11'
          Dst:             strlen
        - Src:             './canon_path.c:161,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './canon_path.c:161,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './canon_path.c:161,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './canon_path.c:171,13'
          Dst:             rbinsert
        - Src:             './canon_path.c:174,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './canon_path.c:180,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './canon_path.c:187,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: 102
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - canon_path_free_item
        - rbdestroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './canon_path.c:106,2'
          Dst:             rbdestroy
        - Src:             './canon_path.c:106,2'
          Dst:             canon_path_free_item
    - functionName:    canon_path_free_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./canon_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 80
      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: 88
      functionLinenumberEnd: 93
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './canon_path.c:91,2'
          Dst:             canon_path_free_item
    - functionName:    check_rlimit
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 908
      functionLinenumberEnd: 935
      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:912,9'
          Dst:             __ctype_b_loc
        - Src:             './defaults.c:916,2'
          Dst:             __errno_location
        - Src:             './defaults.c:918,11'
          Dst:             strtoull
        - Src:             './defaults.c:919,20'
          Dst:             __errno_location
        - Src:             './defaults.c:930,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:    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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    list_op
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1215
      functionLinenumberEnd: 1257
      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:1229,7'
          Dst:             strncmp
        - Src:             './defaults.c:1248,8'
          Dst:             calloc
        - Src:             './defaults.c:1249,35'
          Dst:             strndup
        - Src:             './defaults.c:1250,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1250,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1250,6'
          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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_rlimit
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 939
      functionLinenumberEnd: 962
      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:943,24'
          Dst:             strcmp
        - Src:             './defaults.c:943,52'
          Dst:             strcmp
        - Src:             './defaults.c:948,9'
          Dst:             strchr
        - Src:             './defaults.c:954,7'
          Dst:             check_rlimit
        - Src:             './defaults.c:956,7'
          Dst:             check_rlimit
        - Src:             './defaults.c:961,5'
          Dst:             store_str
    - 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:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_str
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1056
      functionLinenumberEnd: 1069
      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:1063,24'
          Dst:             strdup
        - Src:             './defaults.c:1064,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1064,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1064,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    store_plugin
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1102
      functionLinenumberEnd: 1116
      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:1108,8'
          Dst:             list_op
        - Src:             './defaults.c:1111,20'
          Dst:             strlen
        - Src:             './defaults.c:1111,7'
          Dst:             list_op
    - functionName:    store_timespec
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 966
      functionLinenumberEnd: 1016
      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:978,8'
          Dst:             __ctype_b_loc
        - Src:             './defaults.c:995,8'
          Dst:             __ctype_b_loc
    - functionName:    store_timeout
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1165
      functionLinenumberEnd: 1180
      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:1171,16'
          Dst:             parse_timeout
        - Src:             './defaults.c:1173,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    store_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1073
      functionLinenumberEnd: 1098
      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:1078,8'
          Dst:             list_op
        - Src:             './defaults.c:1083,26'
          Dst:             strlen
        - Src:             './defaults.c:1087,24'
          Dst:             strlen
        - Src:             './defaults.c:1087,11'
          Dst:             list_op
        - Src:             './defaults.c:1090,16'
          Dst:             sudo_strsplit_v1
        - Src:             './defaults.c:1092,8'
          Dst:             list_op
        - Src:             './defaults.c:1091,8'
          Dst:             sudo_strsplit_v1
    - functionName:    store_mode
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1144
      functionLinenumberEnd: 1161
      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:1152,9'
          Dst:             sudo_strtomode_v2
        - Src:             './defaults.c:1154,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    store_uint
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 886
      functionLinenumberEnd: 903
      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:894,20'
          Dst:             sudo_strtonum
        - Src:             './defaults.c:896,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    store_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 865
      functionLinenumberEnd: 882
      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:873,11'
          Dst:             sudo_strtonum
        - Src:             './defaults.c:875,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    valid_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1185
      functionLinenumberEnd: 1209
      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:1189,9'
          Dst:             strlen
        - Src:             './defaults.c:1190,2'
          Dst:             defaults_warnx
        - Src:             './defaults.c:1196,6'
          Dst:             defaults_warnx
        - Src:             './defaults.c:1203,6'
          Dst:             defaults_warnx
    - functionName:    defaults_warnx
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 189
      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:186,11'
          Dst:             parser_vwarnx
    - functionName:    cb_passprompt_regex
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1295
      functionLinenumberEnd: 1313
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1303,11'
          Dst:             sudo_regex_compile_v1
        - Src:             './defaults.c:1305,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1306,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1304,3'
          Dst:             defaults_warnx
    - functionName:    append_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1262
      functionLinenumberEnd: 1290
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1266,16'
          Dst:             calloc
        - Src:             './defaults.c:1271,21'
          Dst:             strdup
        - Src:             './defaults.c:1275,18'
          Dst:             strdup
        - Src:             './defaults.c:1279,5'
          Dst:             sudo_rcstr_addref
    - functionName:    check_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 839
      functionLinenumberEnd: 860
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:846,8'
          Dst:             find_default
        - Src:             './defaults.c:851,10'
          Dst:             parse_default_entry
        - Src:             './defaults.c:853,3'
          Dst:             free_defs_val
    - functionName:    find_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 212
      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:204,6'
          Dst:             strcmp
        - Src:             './defaults.c:208,2'
          Dst:             defaults_warnx
    - functionName:    parse_default_entry
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 332
      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:237,2'
          Branch Sides:    []
        - Branch String:   './defaults.c:266,5'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:229,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './defaults.c:252,3'
          Dst:             defaults_warnx
        - Src:             './defaults.c:261,2'
          Dst:             defaults_warnx
        - Src:             './defaults.c:268,11'
          Dst:             store_syslogfac
        - Src:             './defaults.c:271,11'
          Dst:             store_syslogpri
        - Src:             './defaults.c:275,8'
          Dst:             valid_path
        - Src:             './defaults.c:280,11'
          Dst:             store_str
        - Src:             './defaults.c:283,11'
          Dst:             store_int
        - Src:             './defaults.c:286,11'
          Dst:             store_uint
        - Src:             './defaults.c:289,11'
          Dst:             store_mode
        - Src:             './defaults.c:293,3'
          Dst:             defaults_warnx
        - Src:             './defaults.c:302,11'
          Dst:             store_list
        - Src:             './defaults.c:305,11'
          Dst:             store_timeout
        - Src:             './defaults.c:308,11'
          Dst:             store_tuple
        - Src:             './defaults.c:311,11'
          Dst:             store_timespec
        - Src:             './defaults.c:314,11'
          Dst:             store_plugin
        - Src:             './defaults.c:317,11'
          Dst:             store_rlimit
        - Src:             './defaults.c:320,6'
          Dst:             defaults_warnx
        - Src:             './defaults.c:327,2'
          Dst:             defaults_warnx
    - functionName:    free_defs_val
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 445
      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:435,5'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:441,12'
          Dst:             list_op
    - functionName:    store_syslogfac
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1120
      functionLinenumberEnd: 1128
      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:1127,5'
          Dst:             sudo_str2logfac_v1
    - functionName:    store_syslogpri
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1132
      functionLinenumberEnd: 1140
      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:1139,5'
          Dst:             sudo_str2logpri_v1
    - functionName:    store_tuple
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1020
      functionLinenumberEnd: 1052
      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:1043,10'
          Dst:             strcmp
    - functionName:    run_early_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 429
      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:423,11'
          Dst:             run_callback
    - functionName:    run_callback
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 356
      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: 390
      functionLinenumberEnd: 409
      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:394,11'
          Dst:             find_default
        - Src:             './defaults.c:398,6'
          Dst:             parse_default_entry
        - Src:             './defaults.c:400,3'
          Dst:             sudo_rcstr_delref
        - Src:             './defaults.c:401,20'
          Dst:             sudo_rcstr_addref
    - functionName:    default_binding_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 761
      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:740,5'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:744,6'
          Dst:             userlist_matches
        - Src:             './defaults.c:748,6'
          Dst:             runaslist_matches
        - Src:             './defaults.c:752,6'
          Dst:             hostlist_matches
        - Src:             './defaults.c:756,6'
          Dst:             cmndlist_matches
    - functionName:    default_type_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 702
      functionLinenumberEnd: 728
      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:705,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    is_early_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 345
      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:341,6'
          Dst:             strcmp
    - functionName:    update_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 831
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:777,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './defaults.c:791,36'
          Dst:             is_early_default
        - Src:             './defaults.c:796,11'
          Dst:             default_type_matches
        - Src:             './defaults.c:797,4'
          Dst:             default_binding_matches
        - Src:             './defaults.c:801,11'
          Dst:             set_early_default
        - Src:             './defaults.c:807,7'
          Dst:             run_early_defaults
        - Src:             './defaults.c:817,10'
          Dst:             is_early_default
        - Src:             './defaults.c:822,7'
          Dst:             default_type_matches
        - Src:             './defaults.c:823,7'
          Dst:             default_binding_matches
        - Src:             './defaults.c:827,7'
          Dst:             set_default
    - functionName:    set_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 380
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:369,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './defaults.c:372,11'
          Dst:             find_default
        - Src:             './defaults.c:376,6'
          Dst:             parse_default_entry
        - Src:             './defaults.c:377,6'
          Dst:             run_callback
    - functionName:    init_passprompt_regex
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 463
      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:454,10'
          Dst:             calloc
        - Src:             './defaults.c:455,36'
          Dst:             strdup
        - Src:             './defaults.c:457,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:457,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:457,2'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    init_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 694
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:479,6'
          Dst:             free_defs_val
        - Src:             './defaults.c:541,27'
          Dst:             strdup
        - Src:             './defaults.c:543,26'
          Dst:             strdup
        - Src:             './defaults.c:545,31'
          Dst:             strdup
        - Src:             './defaults.c:554,28'
          Dst:             strdup
        - Src:             './defaults.c:560,34'
          Dst:             strdup
        - Src:             './defaults.c:575,28'
          Dst:             strdup
        - Src:             './defaults.c:592,12'
          Dst:             store_syslogfac
        - Src:             './defaults.c:593,12'
          Dst:             store_syslogpri
        - Src:             './defaults.c:594,12'
          Dst:             store_syslogpri
        - Src:             './defaults.c:598,12'
          Dst:             store_tuple
        - Src:             './defaults.c:599,12'
          Dst:             store_tuple
        - Src:             './defaults.c:625,23'
          Dst:             strdup
        - Src:             './defaults.c:627,24'
          Dst:             strdup
        - Src:             './defaults.c:629,39'
          Dst:             dgettext
        - Src:             './defaults.c:629,32'
          Dst:             strdup
        - Src:             './defaults.c:632,35'
          Dst:             strdup
        - Src:             './defaults.c:636,29'
          Dst:             strdup
        - Src:             './defaults.c:639,34'
          Dst:             dgettext
        - Src:             './defaults.c:639,27'
          Dst:             strdup
        - Src:             './defaults.c:641,30'
          Dst:             strdup
        - Src:             './defaults.c:647,28'
          Dst:             strdup
        - Src:             './defaults.c:661,23'
          Dst:             strdup
        - Src:             './defaults.c:673,7'
          Dst:             sudoers_initlocale
        - Src:             './defaults.c:678,10'
          Dst:             init_envtables
        - Src:             './defaults.c:682,5'
          Dst:             init_eventlog_config
        - Src:             './defaults.c:685,10'
          Dst:             init_passprompt_regex
        - Src:             './defaults.c:692,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:692,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:692,5'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    dump_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 175
      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:    0
      BranchProfiles:
        - Branch String:   './defaults.c:98,6'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:97,13'
          Dst:             dgettext
        - Src:             './defaults.c:113,8'
          Dst:             sudo_logfac2str_v1
        - Src:             './defaults.c:120,8'
          Dst:             sudo_logpri2str_v1
    - functionName:    digest_type_to_name
      functionSourceFile: '/src/sudo/plugins/sudoers/./digestname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   './digestname.c:37,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    expand_tilde
      functionSourceFile: '/src/sudo/plugins/sudoers/./exptilde.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 99
      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:49,5'
          Branch Sides:    []
        - Branch String:   './exptilde.c:61,5'
          Branch Sides:    []
      Callsites:
        - Src:             './exptilde.c:72,10'
          Dst:             strchr
        - Src:             './exptilde.c:80,10'
          Dst:             sudo_getpwnam
        - Src:             './exptilde.c:85,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './exptilde.c:85,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './exptilde.c:89,11'
          Dst:             asprintf
        - Src:             './exptilde.c:90,5'
          Dst:             sudo_pw_delref
        - Src:             './exptilde.c:92,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './exptilde.c:92,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './exptilde.c:92,2'
          Dst:             sudo_warnx_nodebug_v1
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      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:    2
      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:    1
      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:    2
      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:    2
      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:    1
      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:    1
      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:    1
      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: 677
      functionLinenumberEnd: 689
      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: 696
      functionLinenumberEnd: 725
      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:702,31'
          Dst:             sudo_host_name_max_v1
        - Src:             './match.c:711,11'
          Dst:             getdomainname
        - Src:             './match.c:713,23'
          Dst:             valid_domain
        - Src:             './match.c:720,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: 585
      functionLinenumberEnd: 609
      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:592,16'
          Dst:             sudo_strtoid_v2
        - Src:             './match.c:599,6'
          Dst:             strcasecmp
        - Src:             './match.c:602,6'
          Dst:             strcmp
        - Src:             './match.c:606,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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmnd_matches_all
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 492
      functionLinenumberEnd: 521
      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:    2
      BranchProfiles:
        - Branch String:   './match.c:499,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:502,10'
          Dst:             command_matches
        - Src:             './match.c:507,10'
          Dst:             alias_get
        - Src:             './match.c:510,17'
          Dst:             cmnd_matches_all
        - Src:             './match.c:517,3'
          Dst:             alias_put
    - functionName:    cmnd_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 482
      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:    4
      BranchProfiles:
        - Branch String:   './match.c:459,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:463,10'
          Dst:             command_matches
        - Src:             './match.c:468,10'
          Dst:             alias_get
        - Src:             './match.c:470,8'
          Dst:             cmndlist_matches
        - Src:             './match.c:478,3'
          Dst:             alias_put
    - functionName:    cmndlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 444
      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:439,12'
          Dst:             cmnd_matches
    - functionName:    hostname_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 543
      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:534,12'
          Dst:             strchr
        - Src:             './match.c:536,9'
          Dst:             strpbrk
        - Src:             './match.c:537,6'
          Dst:             fnmatch
        - Src:             './match.c:540,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: 378
      functionLinenumberEnd: 422
      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:383,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:388,10'
          Dst:             netgr_matches
        - Src:             './match.c:393,10'
          Dst:             addr_matches
        - Src:             './match.c:397,10'
          Dst:             alias_get
        - Src:             './match.c:400,18'
          Dst:             hostlist_matches_int
        - Src:             './match.c:409,3'
          Dst:             alias_put
        - Src:             './match.c:414,10'
          Dst:             hostname_matches
        - Src:             './match.c:418,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    netgr_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 744
      functionLinenumberEnd: 802
      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:766,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:750,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:756,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:762,14'
          Dst:             sudo_getdomainname
        - Src:             './match.c:784,9'
          Dst:             innetgr
        - Src:             './match.c:787,6'
          Dst:             innetgr
        - Src:             './match.c:796,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    hostlist_matches_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 352
      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:348,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: 362
      functionLinenumberEnd: 367
      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:    7
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:367,12'
          Dst:             hostlist_matches_int
    - functionName:    runas_grouplist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 284
      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:236,6'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:241,11'
          Dst:             alias_get
        - Src:             './match.c:243,19'
          Dst:             runas_grouplist_matches
        - Src:             './match.c:252,4'
          Dst:             alias_put
        - Src:             './match.c:257,11'
          Dst:             group_matches
        - Src:             './match.c:271,29'
          Dst:             runas_getgroups
        - Src:             './match.c:280,6'
          Dst:             sudo_gidlist_delref
    - functionName:    runas_getgroups
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 147
      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:140,2'
          Dst:             sudo_gidlist_addref
        - Src:             './match.c:146,5'
          Dst:             sudo_get_gidlist
    - functionName:    runas_userlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 216
      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:168,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:173,7'
          Dst:             netgr_matches
        - Src:             './match.c:180,7'
          Dst:             usergr_matches
        - Src:             './match.c:184,7'
          Dst:             alias_get
        - Src:             './match.c:186,22'
          Dst:             runas_userlist_matches
        - Src:             './match.c:195,7'
          Dst:             alias_put
        - Src:             './match.c:200,7'
          Dst:             userpw_matches
        - Src:             './match.c:211,4'
          Dst:             strcmp
    - functionName:    usergr_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 667
      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:625,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:632,6'
          Dst:             group_plugin_query
        - Src:             './match.c:639,13'
          Dst:             sudo_getpwnam
        - Src:             './match.c:640,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:647,9'
          Dst:             user_in_group
        - Src:             './match.c:654,6'
          Dst:             group_plugin_query
        - Src:             './match.c:662,2'
          Dst:             sudo_pw_delref
        - Src:             './match.c:664,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    userpw_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 552
      functionLinenumberEnd: 576
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:559,16'
          Dst:             sudo_strtoid_v2
        - Src:             './match.c:566,6'
          Dst:             strcasecmp
        - Src:             './match.c:569,6'
          Dst:             strcmp
        - Src:             './match.c:573,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    runaslist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 332
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:313,20'
          Dst:             runas_userlist_matches
        - Src:             './match.c:315,18'
          Dst:             runas_grouplist_matches
        - Src:             './match.c:322,10'
          Dst:             strcmp
    - functionName:    userlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 130
      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:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:126,12'
          Dst:             user_matches
    - functionName:    user_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 110
      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:76,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:81,10'
          Dst:             netgr_matches
        - Src:             './match.c:87,10'
          Dst:             usergr_matches
        - Src:             './match.c:91,15'
          Dst:             alias_get
        - Src:             './match.c:93,18'
          Dst:             userlist_matches
        - Src:             './match.c:101,3'
          Dst:             alias_put
        - Src:             './match.c:106,10'
          Dst:             userpw_matches
    - functionName:    addr_matches_if
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 96
      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:72,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match_addr.c:59,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:63,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:69,5'
          Dst:             get_interfaces
        - Src:             './match_addr.c:81,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: 100
      functionLinenumberEnd: 184
      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:165,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match_addr.c:112,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:116,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:123,6'
          Dst:             strchr
        - Src:             './match_addr.c:124,10'
          Dst:             inet_pton
        - Src:             './match_addr.c:125,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_addr.c:130,18'
          Dst:             sudo_strtonum
        - Src:             './match_addr.c:132,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_addr.c:136,24'
          Dst:             htonl
        - Src:             './match_addr.c:142,6'
          Dst:             inet_pton
        - Src:             './match_addr.c:143,18'
          Dst:             sudo_strtonum
        - Src:             './match_addr.c:145,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_addr.c:162,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: 192
      functionLinenumberEnd: 208
      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:198,14'
          Dst:             strchr
        - Src:             './match_addr.c:200,8'
          Dst:             addr_matches_if_netmask
        - Src:             './match_addr.c:203,8'
          Dst:             addr_matches_if
        - Src:             './match_addr.c:205,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    command_matches_dir
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 358
      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:339,9'
          Dst:             strncmp
        - Src:             './match_command.c:343,9'
          Dst:             strchr
        - Src:             './match_command.c:347,10'
          Dst:             open_cmnd
        - Src:             './match_command.c:349,9'
          Dst:             digest_matches
        - Src:             './match_command.c:351,5'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:356,2'
          Dst:             close
    - functionName:    open_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 211
      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:188,6'
          Dst:             snprintf
        - Src:             './match_command.c:190,6'
          Dst:             __errno_location
        - Src:             './match_command.c:196,10'
          Dst:             open
        - Src:             './match_command.c:198,21'
          Dst:             __errno_location
        - Src:             './match_command.c:200,26'
          Dst:             __errno_location
        - Src:             './match_command.c:201,12'
          Dst:             open
        - Src:             './match_command.c:202,6'
          Dst:             __errno_location
        - Src:             './match_command.c:208,11'
          Dst:             fcntl
    - functionName:    set_cmnd_fd
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 251
      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:219,2'
          Dst:             close
        - Src:             './match_command.c:224,6'
          Dst:             close
        - Src:             './match_command.c:226,13'
          Dst:             is_script
        - Src:             './match_command.c:232,12'
          Dst:             snprintf
        - Src:             './match_command.c:233,10'
          Dst:             stat
        - Src:             './match_command.c:235,3'
          Dst:             close
        - Src:             './match_command.c:242,11'
          Dst:             fcntl
        - Src:             './match_command.c:243,9'
          Dst:             fcntl
    - 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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_script
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 165
      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:161,9'
          Dst:             pread
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcntl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - 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:    open
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 82
      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:68,10'
          Dst:             sudo_regex_compile_v1
        - Src:             './match_command.c:69,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_command.c:75,9'
          Dst:             regexec
        - Src:             './match_command.c:79,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: 783
      functionLinenumberEnd: 818
      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:789,12'
          Dst:             strlen
        - Src:             './match_command.c:791,2'
          Dst:             command_matches_dir
        - Src:             './match_command.c:795,9'
          Dst:             strcmp
        - Src:             './match_command.c:796,6'
          Dst:             command_args_match
        - Src:             './match_command.c:798,11'
          Dst:             open_cmnd
        - Src:             './match_command.c:800,10'
          Dst:             digest_matches
        - Src:             './match_command.c:805,29'
          Dst:             strdup
        - Src:             './match_command.c:806,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:807,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:806,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_command.c:810,6'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:816,2'
          Dst:             close
    - functionName:    command_args_match
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 117
      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:98,9'
          Dst:             strcmp
        - Src:             './match_command.c:106,15'
          Dst:             strlen
        - Src:             './match_command.c:108,6'
          Dst:             regex_matches
        - Src:             './match_command.c:112,9'
          Dst:             strcmp
        - Src:             './match_command.c:114,9'
          Dst:             fnmatch
    - functionName:    command_matches_glob
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 774
      functionLinenumberEnd: 776
      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:775,12'
          Dst:             command_matches_fnmatch
    - functionName:    command_matches_fnmatch
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 406
      functionLinenumberEnd: 459
      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:426,27'
          Dst:             fnmatch
        - Src:             './match_command.c:430,8'
          Dst:             snprintf
        - Src:             './match_command.c:435,6'
          Dst:             fnmatch
        - Src:             './match_command.c:439,9'
          Dst:             command_args_match
        - Src:             './match_command.c:441,7'
          Dst:             open_cmnd
        - Src:             './match_command.c:448,6'
          Dst:             digest_matches
        - Src:             './match_command.c:450,2'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:456,6'
          Dst:             close
    - functionName:    command_matches_regex
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 516
      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:483,27'
          Dst:             regex_matches
        - Src:             './match_command.c:487,8'
          Dst:             snprintf
        - Src:             './match_command.c:492,6'
          Dst:             regex_matches
        - Src:             './match_command.c:496,9'
          Dst:             command_args_match
        - Src:             './match_command.c:498,7'
          Dst:             open_cmnd
        - Src:             './match_command.c:505,6'
          Dst:             digest_matches
        - Src:             './match_command.c:507,2'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:513,6'
          Dst:             close
    - functionName:    command_matches_all
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 400
      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:371,9'
          Dst:             strchr
        - Src:             './match_command.c:385,8'
          Dst:             open_cmnd
        - Src:             './match_command.c:390,9'
          Dst:             digest_matches
        - Src:             './match_command.c:392,5'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:398,2'
          Dst:             close
    - functionName:    command_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 936
      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:837,27'
          Dst:             strcmp
        - Src:             './match_command.c:838,3'
          Dst:             strcmp
        - Src:             './match_command.c:846,31'
          Dst:             strcmp
        - Src:             './match_command.c:857,11'
          Dst:             set_cmnd_path
        - Src:             './match_command.c:868,8'
          Dst:             command_matches_all
        - Src:             './match_command.c:874,8'
          Dst:             command_matches_regex
        - Src:             './match_command.c:887,6'
          Dst:             strcmp
        - Src:             './match_command.c:888,3'
          Dst:             strcmp
        - Src:             './match_command.c:889,10'
          Dst:             strcmp
        - Src:             './match_command.c:890,7'
          Dst:             command_args_match
        - Src:             './match_command.c:898,9'
          Dst:             strpbrk
        - Src:             './match_command.c:904,12'
          Dst:             command_matches_fnmatch
        - Src:             './match_command.c:907,12'
          Dst:             command_matches_glob
        - Src:             './match_command.c:911,8'
          Dst:             command_matches_normal
        - Src:             './match_command.c:929,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    digest_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_digest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          355
      EdgeCount:       72
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - base64_decode
        - close
        - digest_type_to_name
        - lseek
        - memcmp
        - open
        - snprintf
        - strlen
        - 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:62,8'
          Dst:             open
        - Src:             './match_digest.c:73,6'
          Dst:             snprintf
        - Src:             './match_digest.c:75,6'
          Dst:             __errno_location
        - Src:             './match_digest.c:76,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './match_digest.c:86,20'
          Dst:             sudo_filedigest
        - Src:             './match_digest.c:88,10'
          Dst:             lseek
        - Src:             './match_digest.c:89,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_digest.c:101,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:101,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:101,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_digest.c:104,6'
          Dst:             strlen
        - Src:             './match_digest.c:108,17'
          Dst:             sudo_hexchar_v1
        - Src:             './match_digest.c:115,19'
          Dst:             base64_decode
        - Src:             './match_digest.c:120,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:119,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_digest.c:125,6'
          Dst:             memcmp
        - Src:             './match_digest.c:130,2'
          Dst:             digest_type_to_name
        - Src:             './match_digest.c:130,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_digest.c:139,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:140,22'
          Dst:             digest_type_to_name
        - Src:             './match_digest.c:139,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_digest.c:143,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: 72
      functionLinenumberEnd: 81
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './parser_warnx.c:78,11'
          Dst:             parser_vwarnx
    - functionName:    parser_vwarnx
      functionSourceFile: '/src/sudo/plugins/sudoers/./parser_warnx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 66
      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:51,2'
          Dst:             sudoers_setlocale
        - Src:             './parser_warnx.c:52,25'
          Dst:             dgettext
        - Src:             './parser_warnx.c:52,6'
          Dst:             vasprintf
        - Src:             './parser_warnx.c:56,39'
          Dst:             dgettext
        - Src:             './parser_warnx.c:59,39'
          Dst:             dgettext
        - Src:             './parser_warnx.c:61,2'
          Dst:             sudoers_setlocale
    - functionName:    user_shell_valid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1217
      functionLinenumberEnd: 1224
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    user_in_group
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1120
      functionLinenumberEnd: 1209
      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:1133,22'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil.c:1135,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:1142,21'
          Dst:             sudo_get_gidlist
        - Src:             './pwutil.c:1162,13'
          Dst:             sudo_getgrnam
        - Src:             './pwutil.c:1174,21'
          Dst:             sudo_get_gidlist
        - Src:             './pwutil.c:1183,26'
          Dst:             sudo_get_grlist
        - Src:             './pwutil.c:1201,2'
          Dst:             sudo_gr_delref
        - Src:             './pwutil.c:1203,2'
          Dst:             sudo_grlist_delref
        - Src:             './pwutil.c:1205,2'
          Dst:             sudo_gidlist_delref
        - Src:             './pwutil.c:1207,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_get_gidlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1007
      functionLinenumberEnd: 1064
      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:    4
      BranchProfiles:
        - Branch String:   './pwutil.c:1039,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:1012,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:1016,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:1016,18'
          Dst:             cmp_gidlist
        - Src:             './pwutil.c:1018,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1018,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1018,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1026,17'
          Dst:             rbfind
        - Src:             './pwutil.c:1038,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:1039,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:1042,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1042,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1048,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1048,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:1055,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_getgrnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 657
      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:635,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:605,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:605,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:607,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:607,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:607,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:614,17'
          Dst:             rbfind
        - Src:             './pwutil.c:623,21'
          Dst:             strlen
        - Src:             './pwutil.c:624,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:624,33'
          Dst:             calloc
        - Src:             './pwutil.c:625,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:625,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:634,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:635,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:638,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:638,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:643,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:643,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:649,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_get_grlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 866
      functionLinenumberEnd: 922
      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:897,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:871,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:875,17'
          Dst:             rbcreate
        - Src:             './pwutil.c:875,17'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:877,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:877,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:877,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:884,17'
          Dst:             rbfind
        - Src:             './pwutil.c:896,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:897,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:900,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:900,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:906,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:906,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:913,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_gr_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 527
      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:    9
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:525,5'
          Dst:             sudo_gr_delref_item
    - functionName:    sudo_grlist_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 833
      functionLinenumberEnd: 837
      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:835,5'
          Dst:             sudo_grlist_delref_item
    - functionName:    sudo_gidlist_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 805
      functionLinenumberEnd: 809
      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:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:807,5'
          Dst:             sudo_gidlist_delref_item
    - functionName:    sudo_gidlist_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 793
      functionLinenumberEnd: 801
      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: 821
      functionLinenumberEnd: 829
      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: 511
      functionLinenumberEnd: 519
      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: 147
      functionLinenumberEnd: 153
      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:150,15'
          Dst:             strcmp
        - Src:             './pwutil.c:152,8'
          Dst:             strcmp
    - functionName:    cmp_gidlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 176
      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:167,15'
          Dst:             strcmp
        - Src:             './pwutil.c:170,13'
          Dst:             strcmp
    - functionName:    sudo_set_gidlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1069
      functionLinenumberEnd: 1116
      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:    3
      BranchProfiles:
        - Branch String:   './pwutil.c:1099,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:1073,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:1077,5'
          Dst:             sudo_debug_group_list
        - Src:             './pwutil.c:1080,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:1080,18'
          Dst:             cmp_gidlist
        - Src:             './pwutil.c:1082,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1082,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1082,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1093,9'
          Dst:             rbfind
        - Src:             './pwutil.c:1095,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1095,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1098,2'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:1099,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:1101,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1101,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1103,6'
          Dst:             sudo_gidlist_delref_item
        - Src:             './pwutil.c:1106,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1106,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:1107,6'
          Dst:             sudo_gidlist_delref_item
        - Src:             './pwutil.c:1111,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_debug_group_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 927
      functionLinenumberEnd: 954
      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:931,28'
          Dst:             sudo_debug_needed_v1
        - Src:             './pwutil.c:935,9'
          Dst:             strlen
        - Src:             './pwutil.c:942,22'
          Dst:             snprintf
        - Src:             './pwutil.c:949,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_set_grlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 1003
      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:986,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:962,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:965,5'
          Dst:             sudo_debug_group_list
        - Src:             './pwutil.c:968,17'
          Dst:             rbcreate
        - Src:             './pwutil.c:968,17'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:970,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:970,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:970,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:980,9'
          Dst:             rbfind
        - Src:             './pwutil.c:982,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:982,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:985,2'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:986,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:988,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:988,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:990,6'
          Dst:             sudo_grlist_delref_item
        - Src:             './pwutil.c:993,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:993,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:994,6'
          Dst:             sudo_grlist_delref_item
        - Src:             './pwutil.c:998,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_freegrcache
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 841
      functionLinenumberEnd: 862
      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:845,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:845,2'
          Dst:             sudo_gr_delref_item
        - Src:             './pwutil.c:849,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:849,2'
          Dst:             sudo_gr_delref_item
        - Src:             './pwutil.c:853,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:853,2'
          Dst:             sudo_grlist_delref_item
        - Src:             './pwutil.c:857,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:857,2'
          Dst:             sudo_gidlist_delref_item
    - functionName:    sudo_grlist_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 817
      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: 785
      functionLinenumberEnd: 789
      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: 768
      functionLinenumberEnd: 781
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:773,19'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil.c:775,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:780,5'
          Dst:             sudo_mkgrent
    - functionName:    sudo_mkgrent
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 761
      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:    5
      BranchProfiles:
        - Branch String:   './pwutil.c:738,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:675,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:675,18'
          Dst:             cmp_grgid
        - Src:             './pwutil.c:677,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:677,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:679,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:679,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:679,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:684,13'
          Dst:             strlen
        - Src:             './pwutil.c:688,11'
          Dst:             strlen
        - Src:             './pwutil.c:702,11'
          Dst:             calloc
        - Src:             './pwutil.c:704,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:704,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:715,19'
          Dst:             strlen
        - Src:             './pwutil.c:738,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:744,3'
          Dst:             sudo_gr_delref_item
        - Src:             './pwutil.c:753,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:753,6'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    cmp_grgid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 491
      functionLinenumberEnd: 499
      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:495,9'
          Dst:             strcmp
    - functionName:    sudo_getgrgid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 534
      functionLinenumberEnd: 592
      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:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:568,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:540,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:540,18'
          Dst:             cmp_grgid
        - Src:             './pwutil.c:542,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:542,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:542,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:549,17'
          Dst:             rbfind
        - Src:             './pwutil.c:558,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:558,33'
          Dst:             calloc
        - Src:             './pwutil.c:559,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:559,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:567,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:568,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:571,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:571,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:577,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:577,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:583,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_gr_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 507
      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: 470
      functionLinenumberEnd: 483
      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:474,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:474,2'
          Dst:             sudo_pw_delref_item
        - Src:             './pwutil.c:478,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:478,2'
          Dst:             sudo_pw_delref_item
    - functionName:    sudo_pw_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 196
      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: 454
      functionLinenumberEnd: 466
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:459,19'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil.c:461,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:465,5'
          Dst:             sudo_mkpwent
    - functionName:    sudo_mkpwent
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 447
      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:    4
      BranchProfiles:
        - Branch String:   './pwutil.c:425,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:364,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:364,18'
          Dst:             cmp_pwuid
        - Src:             './pwutil.c:366,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:366,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:368,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:368,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:368,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:378,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:382,16'
          Dst:             strlen
        - Src:             './pwutil.c:383,16'
          Dst:             strlen
        - Src:             './pwutil.c:384,17'
          Dst:             strlen
        - Src:             './pwutil.c:393,11'
          Dst:             calloc
        - Src:             './pwutil.c:395,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:395,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:425,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:431,3'
          Dst:             sudo_pw_delref_item
        - Src:             './pwutil.c:440,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:440,6'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    cmp_pwuid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 139
      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:135,9'
          Dst:             strcmp
    - functionName:    sudo_getpwnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 346
      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:    5
      BranchProfiles:
        - Branch String:   './pwutil.c:324,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:288,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:288,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:290,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:290,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:290,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:297,17'
          Dst:             rbfind
        - Src:             './pwutil.c:312,21'
          Dst:             strlen
        - Src:             './pwutil.c:313,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:313,33'
          Dst:             calloc
        - Src:             './pwutil.c:314,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:314,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:323,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:324,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:327,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:327,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:332,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:332,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:338,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_getpwuid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 275
      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:251,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:217,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:217,18'
          Dst:             cmp_pwuid
        - Src:             './pwutil.c:219,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:219,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:219,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:226,17'
          Dst:             rbfind
        - Src:             './pwutil.c:241,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:241,33'
          Dst:             calloc
        - Src:             './pwutil.c:242,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:242,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:250,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:251,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:254,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:254,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:260,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:260,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:266,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_pw_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 204
      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:    11
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:202,5'
          Dst:             sudo_pw_delref_item
    - functionName:    sudo_pw_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 184
      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: 121
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pwutil_get_max_groups
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 115
      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: 94
      functionLinenumberEnd: 109
      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: 445
      functionLinenumberEnd: 460
      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:449,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:452,5'
          Dst:             setusershell
        - Src:             './pwutil_impl.c:453,21'
          Dst:             getusershell
        - Src:             './pwutil_impl.c:454,6'
          Dst:             strcmp
        - Src:             './pwutil_impl.c:457,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: 357
      functionLinenumberEnd: 438
      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:358,34'
          Dst:             sudo_login_name_max_v1
        - Src:             './pwutil_impl.c:368,15'
          Dst:             sudo_get_gidlist
        - Src:             './pwutil_impl.c:370,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:372,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:377,13'
          Dst:             strlen
        - Src:             './pwutil_impl.c:383,20'
          Dst:             calloc
        - Src:             './pwutil_impl.c:384,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:386,2'
          Dst:             sudo_gidlist_delref
        - Src:             './pwutil_impl.c:416,13'
          Dst:             sudo_getgrgid
        - Src:             './pwutil_impl.c:417,12'
          Dst:             strlen
        - Src:             './pwutil_impl.c:421,3'
          Dst:             sudo_gr_delref
        - Src:             './pwutil_impl.c:427,6'
          Dst:             sudo_gr_delref
        - Src:             './pwutil_impl.c:431,5'
          Dst:             sudo_gidlist_delref
    - functionName:    sudo_make_gidlist_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 349
      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:262,13'
          Dst:             reallocarray
        - Src:             './pwutil_impl.c:264,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:272,29'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil_impl.c:274,7'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:285,10'
          Dst:             sudo_pwutil_get_max_groups
        - Src:             './pwutil_impl.c:287,13'
          Dst:             reallocarray
        - Src:             './pwutil_impl.c:289,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:294,10'
          Dst:             sudo_getgrouplist2_v1
        - Src:             './pwutil_impl.c:295,11'
          Dst:             sudo_pwutil_get_max_groups
        - Src:             './pwutil_impl.c:298,10'
          Dst:             sudo_getgrouplist2_v1
        - Src:             './pwutil_impl.c:299,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:307,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:312,13'
          Dst:             strlen
        - Src:             './pwutil_impl.c:316,19'
          Dst:             calloc
        - Src:             './pwutil_impl.c:317,2'
          Dst:             sudo_debug_printf2_v1
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_make_gritem
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 237
      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:179,17'
          Dst:             getgrnam
        - Src:             './pwutil_impl.c:179,40'
          Dst:             getgrgid
        - Src:             './pwutil_impl.c:181,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:187,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:188,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:191,15'
          Dst:             strlen
        - Src:             './pwutil_impl.c:196,11'
          Dst:             strlen
        - Src:             './pwutil_impl.c:198,19'
          Dst:             calloc
        - Src:             './pwutil_impl.c:199,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:216,12'
          Dst:             strlen
        - Src:             './pwutil_impl.c:228,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: 86
      functionLinenumberEnd: 160
      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:98,17'
          Dst:             getpwnam
        - Src:             './pwutil_impl.c:98,40'
          Dst:             getpwuid
        - Src:             './pwutil_impl.c:100,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:110,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:111,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:115,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:116,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:118,13'
          Dst:             strlen
        - Src:             './pwutil_impl.c:121,11'
          Dst:             strlen
        - Src:             './pwutil_impl.c:124,19'
          Dst:             calloc
        - Src:             './pwutil_impl.c:125,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:151,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: 421
      functionLinenumberEnd: 479
      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:431,3'
          Dst:             rotate_left
        - Src:             './redblack.c:441,9'
          Dst:             rotate_right
        - Src:             './redblack.c:447,3'
          Dst:             rotate_left
        - Src:             './redblack.c:455,3'
          Dst:             rotate_right
        - Src:             './redblack.c:465,7'
          Dst:             rotate_left
        - Src:             './redblack.c:471,3'
          Dst:             rotate_right
    - functionName:    rotate_left
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 143
      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: 150
      functionLinenumberEnd: 169
      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: 327
      functionLinenumberEnd: 341
      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: 378
      functionLinenumberEnd: 412
      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:386,6'
          Dst:             rbsuccessor
        - Src:             './redblack.c:398,2'
          Dst:             rbrepair
    - functionName:    rbdestroy_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 359
      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:352,2'
          Dst:             rbdestroy_int
        - Src:             './redblack.c:353,2'
          Dst:             rbdestroy_int
    - functionName:    rbdestroy
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 372
      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:369,5'
          Dst:             rbdestroy_int
    - functionName:    rbapply_node
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 320
      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:308,15'
          Dst:             rbapply_node
        - Src:             './redblack.c:313,15'
          Dst:             rbapply_node
    - functionName:    rbfind
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 290
      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: 178
      functionLinenumberEnd: 271
      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:197,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './redblack.c:245,7'
          Dst:             rotate_left
        - Src:             './redblack.c:249,3'
          Dst:             rotate_right
        - Src:             './redblack.c:261,7'
          Dst:             rotate_right
        - Src:             './redblack.c:265,3'
          Dst:             rotate_left
    - functionName:    rbcreate
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 117
      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:93,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudoers_debug_deregister
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          48
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - sudo_debug_deregister_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_debug.c:131,10'
          Dst:             sudo_debug_deregister_v1
    - functionName:    sudoers_debug_register
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 118
      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:    1
      BranchProfiles:
        - Branch String:   './sudoers_debug.c:103,5'
          Branch Sides:    []
      Callsites:
        - Src:             './sudoers_debug.c:92,17'
          Dst:             sudo_debug_register_v2
        - Src:             './sudoers_debug.c:112,2'
          Dst:             sudo_debug_set_active_instance_v1
    - functionName:    sudoers_debug_parse_flags
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 75
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_debug.c:74,12'
          Dst:             sudo_debug_parse_flags_v1
    - functionName:    parse_timeout
      functionSourceFile: '/src/sudo/plugins/sudoers/./timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 109
      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:    2
      BranchProfiles:
        - Branch String:   './timeout.c:80,6'
          Branch Sides:    []
      Callsites:
        - Src:             './timeout.c:57,2'
          Dst:             __errno_location
        - Src:             './timeout.c:58,6'
          Dst:             strtol
        - Src:             './timeout.c:61,6'
          Dst:             __errno_location
        - Src:             './timeout.c:64,6'
          Dst:             __errno_location
        - Src:             './timeout.c:69,11'
          Dst:             tolower
        - Src:             './timeout.c:73,7'
          Dst:             __errno_location
        - Src:             './timeout.c:107,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:    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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    feof
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    realloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fwrite
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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: 239
      functionLinenumberEnd: 252
      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: 178
      functionLinenumberEnd: 230
      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:187,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:202,2'
          Dst:             parser_leak_remove
        - Src:             './toke_util.c:203,6'
          Dst:             realloc
        - Src:             './toke_util.c:205,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:205,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:205,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:208,2'
          Dst:             parser_leak_add
        - Src:             './toke_util.c:217,9'
          Dst:             sudo_strlcpy
        - Src:             './toke_util.c:218,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:218,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:219,2'
          Dst:             parser_leak_remove
        - Src:             './toke_util.c:225,5'
          Dst:             sudoerserror
    - functionName:    fill_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 174
      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:135,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:135,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:135,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:136,2'
          Dst:             sudoerserror
        - Src:             './toke_util.c:156,13'
          Dst:             strrchr
        - Src:             './toke_util.c:157,10'
          Dst:             strcmp
        - Src:             './toke_util.c:158,7'
          Dst:             sudoers_strict
        - Src:             './toke_util.c:159,7'
          Dst:             sudoerserror
        - Src:             './toke_util.c:163,35'
          Dst:             strdup
        - Src:             './toke_util.c:164,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:165,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:164,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:172,5'
          Dst:             parser_leak_add
    - functionName:    strrchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    append
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 118
      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:100,9'
          Dst:             strlen
        - Src:             './toke_util.c:101,2'
          Dst:             parser_leak_remove
        - Src:             './toke_util.c:104,11'
          Dst:             realloc
        - Src:             './toke_util.c:109,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:109,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:109,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:110,2'
          Dst:             sudoerserror
        - Src:             './toke_util.c:113,5'
          Dst:             parser_leak_add
        - Src:             './toke_util.c:114,5'
          Dst:             copy_string
    - functionName:    copy_string
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 69
      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:56,49'
          Dst:             sudo_hexchar_v1
    - functionName:    fill
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 89
      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:80,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:80,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:80,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:81,2'
          Dst:             sudoerserror
        - Src:             './toke_util.c:84,5'
          Dst:             parser_leak_add
        - Src:             './toke_util.c:85,5'
          Dst:             copy_string
    - functionName:    base64_decode
      functionSourceFile: '/src/sudo/plugins/sudoers/./b64_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          183
      EdgeCount:       37
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_filedigest
      functionSourceFile: '/src/sudo/plugins/sudoers/./filedigest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 91
      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:48,19'
          Dst:             sudo_digest_getlen_v2
        - Src:             './filedigest.c:50,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:50,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:54,16'
          Dst:             dup
        - 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:59,15'
          Dst:             fdopen
        - Src:             './filedigest.c:60,2'
          Dst:             __errno_location
        - Src:             './filedigest.c:60,2'
          Dst:             strerror
        - Src:             './filedigest.c:60,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './filedigest.c:62,2'
          Dst:             close
        - Src:             './filedigest.c:66,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:66,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:66,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:69,16'
          Dst:             sudo_digest_alloc_v1
        - Src:             './filedigest.c:70,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:70,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:70,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:73,21'
          Dst:             fread
        - Src:             './filedigest.c:74,2'
          Dst:             sudo_digest_update_v1
        - Src:             './filedigest.c:76,9'
          Dst:             ferror
        - Src:             './filedigest.c:77,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:77,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:80,5'
          Dst:             sudo_digest_final_v1
        - Src:             './filedigest.c:81,5'
          Dst:             sudo_digest_free_v1
        - Src:             './filedigest.c:82,5'
          Dst:             fclose
        - Src:             './filedigest.c:86,5'
          Dst:             sudo_digest_free_v1
        - Src:             './filedigest.c:89,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:    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:    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: 54
      functionLinenumberEnd: 171
      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:88,2'
          Branch Sides:    []
        - Branch String:   './gentime.c:105,5'
          Branch Sides:    []
      Callsites:
        - Src:             './gentime.c:65,11'
          Dst:             strspn
        - Src:             './gentime.c:67,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:76,13'
          Dst:             __isoc99_sscanf
        - Src:             './gentime.c:79,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:86,43'
          Dst:             __ctype_b_loc
        - Src:             './gentime.c:113,8'
          Dst:             strspn
        - Src:             './gentime.c:115,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:121,10'
          Dst:             __isoc99_sscanf
        - Src:             './gentime.c:123,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:146,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:151,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:161,11'
          Dst:             mktime
        - Src:             './gentime.c:163,11'
          Dst:             timegm
    - 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:    sudo_basename_v1
      functionSourceFile: '/src/sudo/lib/util/./basename.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strrchr
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './basename.c:46,17'
          Dst:             strrchr
    - functionName:    sudo_digest_final_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 159
      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:156,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: 143
      functionLinenumberEnd: 149
      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:146,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: 136
      functionLinenumberEnd: 138
      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:137,18'
          Dst:             sudo_digest_getlen_v2
    - functionName:    sudo_digest_getlen_v2
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 132
      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:127,10'
          Dst:             sudo_digest_type_to_md
        - Src:             './digest_openssl.c:131,5'
          Dst:             EVP_MD_size
    - functionName:    sudo_digest_type_to_md
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 66
      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:49,5'
          Branch Sides:    []
      Callsites:
        - Src:             './digest_openssl.c:51,7'
          Dst:             EVP_sha224
        - Src:             './digest_openssl.c:54,7'
          Dst:             EVP_sha256
        - Src:             './digest_openssl.c:57,7'
          Dst:             EVP_sha384
        - Src:             './digest_openssl.c:60,7'
          Dst:             EVP_sha512
        - Src:             './digest_openssl.c:63,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: 111
      functionLinenumberEnd: 119
      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:115,5'
          Dst:             EVP_MD_CTX_reset
        - Src:             './digest_openssl.c:116,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: 98
      functionLinenumberEnd: 107
      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:102,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: 71
      functionLinenumberEnd: 94
      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:77,10'
          Dst:             sudo_digest_type_to_md
        - Src:             './digest_openssl.c:81,13'
          Dst:             EVP_MD_CTX_new
        - Src:             './digest_openssl.c:82,27'
          Dst:             EVP_DigestInit_ex
        - Src:             './digest_openssl.c:92,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: 329
      functionLinenumberEnd: 343
      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:    134
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:337,11'
          Dst:             dgettext
    - functionName:    sudo_warn_set_locale_func_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_warn_set_conversation_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 313
      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: 286
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          83
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fatal_callback_register_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gai_vwarn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 180
      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:179,13'
          Dst:             gai_strerror
        - Src:             './fatal.c:179,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: 184
      functionLinenumberEnd: 255
      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:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:186,29'
          Dst:             __errno_location
        - Src:             './fatal.c:199,22'
          Dst:             sudo_getprogname
        - Src:             './fatal.c:206,12'
          Dst:             vsnprintf
        - Src:             './fatal.c:210,11'
          Dst:             vasprintf
        - Src:             './fatal.c:233,15'
          Dst:             sudo_getprogname
        - Src:             './fatal.c:233,9'
          Dst:             fputs
        - Src:             './fatal.c:235,17'
          Dst:             fputs
        - Src:             './fatal.c:236,17'
          Dst:             vfprintf
        - Src:             './fatal.c:239,13'
          Dst:             fputs
        - Src:             './fatal.c:240,13'
          Dst:             fputs
        - Src:             './fatal.c:246,9'
          Dst:             putc
        - Src:             './fatal.c:254,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: 168
      functionLinenumberEnd: 174
      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:172,13'
          Dst:             gai_strerror
        - Src:             './fatal.c:172,5'
          Dst:             warning
    - functionName:    sudo_vwarnx_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 144
      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:143,5'
          Dst:             warning
    - functionName:    sudo_vwarn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 138
      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:137,22'
          Dst:             __errno_location
        - Src:             './fatal.c:137,13'
          Dst:             strerror
        - Src:             './fatal.c:137,5'
          Dst:             warning
    - functionName:    sudo_warnx_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - warning
      functionUses:    72
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:130,5'
          Dst:             warning
    - functionName:    sudo_warn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 123
      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:    19
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:121,22'
          Dst:             __errno_location
        - Src:             './fatal.c:121,13'
          Dst:             strerror
        - Src:             './fatal.c:121,5'
          Dst:             warning
    - functionName:    do_cleanup
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_host_name_max_v1
      functionSourceFile: '/src/sudo/lib/util/./gethostname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 69
      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:62,9'
          Dst:             sysconf
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gethostname_v1
      functionSourceFile: '/src/sudo/lib/util/./gethostname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 50
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './gethostname.c:39,34'
          Dst:             sudo_host_name_max_v1
        - Src:             './gethostname.c:42,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_getgrouplist2_v1
      functionSourceFile: '/src/sudo/lib/util/./getgrouplist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 120
      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:83,2'
          Dst:             getgrouplist
        - Src:             './getgrouplist.c:91,15'
          Dst:             sysconf
        - Src:             './getgrouplist.c:101,11'
          Dst:             reallocarray
        - Src:             './getgrouplist.c:105,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:    sudo_hexchar_v1
      functionSourceFile: '/src/sudo/lib/util/./hexchar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          225
      EdgeCount:       77
      CyclomaticComplexity: 40
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './hexchar.c:42,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sudo_lbuf_clearerr_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 496
      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: 368
      functionLinenumberEnd: 434
      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:376,27'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:381,12'
          Dst:             strlen
        - Src:             './lbuf.c:395,16'
          Dst:             memrchr
        - Src:             './lbuf.c:396,8'
          Dst:             memchr
        - Src:             './lbuf.c:424,24'
          Dst:             __ctype_b_loc
    - functionName:    sudo_lbuf_print_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 443
      functionLinenumberEnd: 481
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:452,32'
          Dst:             strlen
        - Src:             './lbuf.c:468,16'
          Dst:             memchr
        - Src:             './lbuf.c:471,3'
          Dst:             sudo_lbuf_println
    - functionName:    sudo_lbuf_append_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 363
      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:    94
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:291,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './lbuf.c:296,23'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:301,13'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:308,7'
          Dst:             __errno_location
        - Src:             './lbuf.c:309,7'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lbuf.c:316,13'
          Dst:             atoi
        - Src:             './lbuf.c:325,27'
          Dst:             strlen
        - Src:             './lbuf.c:326,12'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:341,26'
          Dst:             strlen
        - Src:             './lbuf.c:342,11'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:349,7'
          Dst:             sudo_lbuf_expand
    - functionName:    sudo_lbuf_error_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    13
      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: 74
      functionLinenumberEnd: 109
      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:78,2'
          Dst:             __errno_location
        - Src:             './lbuf.c:79,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lbuf.c:87,20'
          Dst:             sudo_pow2_roundup_v2
        - Src:             './lbuf.c:91,6'
          Dst:             __errno_location
        - Src:             './lbuf.c:92,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lbuf.c:99,17'
          Dst:             realloc
        - Src:             './lbuf.c:100,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_lbuf_append_quoted_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 276
      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:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:232,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './lbuf.c:240,19'
          Dst:             strpbrk
        - Src:             './lbuf.c:242,8'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:251,23'
          Dst:             strlen
        - Src:             './lbuf.c:252,8'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:260,7'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:262,6'
          Dst:             strchr
    - functionName:    escape
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 140
      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:123,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sudo_lbuf_append_esc_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 216
      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:156,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './lbuf.c:171,7'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:171,7'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:172,12'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:174,20'
          Dst:             escape
        - Src:             './lbuf.c:178,12'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:184,8'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:191,6'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:191,6'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:192,11'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:198,16'
          Dst:             escape
        - Src:             './lbuf.c:202,7'
          Dst:             sudo_lbuf_expand
    - functionName:    sudo_lbuf_destroy_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          36
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_lbuf_init_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 56
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_logfac2str_v1
      functionSourceFile: '/src/sudo/lib/util/./logfac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 89
      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: 66
      functionLinenumberEnd: 77
      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:71,6'
          Dst:             strcmp
    - functionName:    sudo_login_name_max_v1
      functionSourceFile: '/src/sudo/lib/util/./login_max.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 57
      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:50,9'
          Dst:             sysconf
    - functionName:    sudo_logpri2str_v1
      functionSourceFile: '/src/sudo/lib/util/./logpri.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_str2logpri_v1
      functionSourceFile: '/src/sudo/lib/util/./logpri.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:             './logpri.c:66,6'
          Dst:             strcmp
    - functionName:    initprogname
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 100
      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:99,5'
          Dst:             initprogname2
    - functionName:    initprogname2
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 93
      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:67,21'
          Dst:             sudo_getprogname
        - Src:             './progname.c:71,9'
          Dst:             sudo_basename_v1
        - Src:             './progname.c:85,10'
          Dst:             strcmp
        - Src:             './progname.c:92,2'
          Dst:             sudo_setprogname
    - functionName:    sudo_getprogname
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 48
      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: 55
      functionLinenumberEnd: 57
      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:56,18'
          Dst:             sudo_basename_v1
    - functionName:    sudo_rcstr_delref
      functionSourceFile: '/src/sudo/lib/util/./rcstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 103
      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: 77
      functionLinenumberEnd: 87
      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: 61
      functionLinenumberEnd: 73
      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: 46
      functionLinenumberEnd: 56
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './rcstr.c:47,18'
          Dst:             strlen
        - Src:             './rcstr.c:51,11'
          Dst:             sudo_rcstr_alloc
    - functionName:    parse_num
      functionSourceFile: '/src/sudo/lib/util/./regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 69
      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:55,20'
          Dst:             __ctype_b_loc
        - Src:             './regex.c:57,12'
          Dst:             __ctype_b_loc
    - functionName:    check_pattern
      functionSourceFile: '/src/sudo/lib/util/./regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 141
      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:86,2'
          Branch Sides:    []
        - Branch String:   './regex.c:109,6'
          Branch Sides:    []
      Callsites:
        - Src:             './regex.c:108,11'
          Dst:             parse_num
        - Src:             './regex.c:117,8'
          Dst:             parse_num
    - functionName:    sudo_regex_compile_v1
      functionSourceFile: '/src/sudo/lib/util/./regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 194
      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:162,9'
          Dst:             strlen
        - Src:             './regex.c:169,9'
          Dst:             strncmp
        - Src:             './regex.c:171,9'
          Dst:             strdup
        - Src:             './regex.c:181,15'
          Dst:             check_pattern
        - Src:             './regex.c:183,12'
          Dst:             regcomp
        - Src:             './regex.c:186,6'
          Dst:             regfree
        - Src:             './regex.c:188,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: 60
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pow2_roundup_v1
      functionSourceFile: '/src/sudo/lib/util/./roundup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 52
      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: 173
      functionLinenumberEnd: 202
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:178,23'
          Dst:             strlen
        - Src:             './secure_path.c:179,15'
          Dst:             sudo_strsplit_v1
        - Src:             './secure_path.c:187,6'
          Dst:             __errno_location
        - Src:             './secure_path.c:194,38'
          Dst:             open
        - Src:             './secure_path.c:196,31'
          Dst:             fcntl
        - Src:             './secure_path.c:196,12'
          Dst:             fcntl
        - Src:             './secure_path.c:199,6'
          Dst:             __errno_location
        - Src:             './secure_path.c:180,19'
          Dst:             sudo_strsplit_v1
    - functionName:    sudo_secure_open_dir_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 160
      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:160,12'
          Dst:             sudo_secure_open
    - functionName:    sudo_secure_open
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          132
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - close
        - fcntl
        - fstat
        - open
        - sudo_check_secure
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:129,10'
          Dst:             open
        - Src:             './secure_path.c:130,21'
          Dst:             fstat
        - Src:             './secure_path.c:132,6'
          Dst:             close
        - Src:             './secure_path.c:137,14'
          Dst:             sudo_check_secure
        - Src:             './secure_path.c:139,27'
          Dst:             fcntl
        - Src:             './secure_path.c:139,8'
          Dst:             fcntl
        - Src:             './secure_path.c:142,2'
          Dst:             close
    - functionName:    sudo_check_secure
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 56
      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: 152
      functionLinenumberEnd: 153
      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:153,12'
          Dst:             sudo_secure_open
    - functionName:    sudo_secure_fd_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 110
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:108,21'
          Dst:             fstat
        - Src:             './secure_path.c:109,8'
          Dst:             sudo_check_secure
    - functionName:    sudo_secure_dir_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 95
      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:95,12'
          Dst:             sudo_secure_path
    - functionName:    sudo_secure_path
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 76
      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:73,25'
          Dst:             stat
        - Src:             './secure_path.c:74,8'
          Dst:             sudo_check_secure
    - functionName:    sudo_secure_file_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 86
      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:86,12'
          Dst:             sudo_secure_path
    - functionName:    sudo_strsplit_v1
      functionSourceFile: '/src/sudo/lib/util/./strsplit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 73
      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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_strtoid_v2
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 107
      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:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './strtoid.c:107,12'
          Dst:             sudo_strtoidx_v1
    - functionName:    sudo_strtoidx_v1
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 93
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './strtoid.c:77,17'
          Dst:             sudo_strtonumx
        - Src:             './strtoid.c:83,51'
          Dst:             valid_separator
        - Src:             './strtoid.c:85,6'
          Dst:             __errno_location
    - functionName:    valid_separator
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 59
      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: 99
      functionLinenumberEnd: 100
      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:100,12'
          Dst:             sudo_strtoidx_v1
    - functionName:    sudo_strtomode_v1
      functionSourceFile: '/src/sudo/lib/util/./strtomode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 70
      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:70,17'
          Dst:             sudo_strtomode_v2
    - functionName:    sudo_strtomode_v2
      functionSourceFile: '/src/sudo/lib/util/./strtomode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 65
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './strtomode.c:48,5'
          Dst:             __errno_location
        - Src:             './strtomode.c:49,12'
          Dst:             strtol
        - Src:             './strtomode.c:53,2'
          Dst:             __errno_location
        - Src:             './strtomode.c:59,2'
          Dst:             __errno_location
    - functionName:    sudo_strtonum
      functionSourceFile: '/src/sudo/lib/util/./strtonum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 191
      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:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './strtonum.c:182,11'
          Dst:             sudo_strtonumx
        - Src:             './strtonum.c:185,2'
          Dst:             __errno_location
    - functionName:    sudo_strtonumx
      functionSourceFile: '/src/sudo/lib/util/./strtonum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 168
      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:64,5'
          Branch Sides:    []
        - Branch String:   './strtonum.c:137,5'
          Branch Sides:    []
      Callsites:
        - Src:             './strtonum.c:63,14'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:94,11'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:101,12'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:116,11'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:123,12'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:145,2'
          Dst:             __errno_location
        - Src:             './strtonum.c:151,2'
          Dst:             __errno_location
        - Src:             './strtonum.c:157,2'
          Dst:             __errno_location
    - functionName:    sudo_debug_get_fds_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1181
      functionLinenumberEnd: 1182
      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: 1176
      functionLinenumberEnd: 1177
      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: 1170
      functionLinenumberEnd: 1171
      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: 1164
      functionLinenumberEnd: 1165
      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: 1159
      functionLinenumberEnd: 1160
      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: 1153
      functionLinenumberEnd: 1154
      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:    102
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_vprintf2_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1140
      functionLinenumberEnd: 1141
      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: 1133
      functionLinenumberEnd: 1134
      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: 1128
      functionLinenumberEnd: 1129
      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: 1122
      functionLinenumberEnd: 1123
      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: 1116
      functionLinenumberEnd: 1117
      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: 1110
      functionLinenumberEnd: 1111
      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: 1104
      functionLinenumberEnd: 1105
      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: 1098
      functionLinenumberEnd: 1099
      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: 1092
      functionLinenumberEnd: 1093
      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: 1086
      functionLinenumberEnd: 1087
      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: 1080
      functionLinenumberEnd: 1081
      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: 1074
      functionLinenumberEnd: 1075
      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: 1068
      functionLinenumberEnd: 1069
      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: 1062
      functionLinenumberEnd: 1063
      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: 1056
      functionLinenumberEnd: 1057
      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: 1050
      functionLinenumberEnd: 1051
      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: 1044
      functionLinenumberEnd: 1045
      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: 1037
      functionLinenumberEnd: 1038
      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:1038,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: 1031
      functionLinenumberEnd: 1032
      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: 1025
      functionLinenumberEnd: 1026
      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: 1018
      functionLinenumberEnd: 1019
      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: 1012
      functionLinenumberEnd: 1013
      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: 1005
      functionLinenumberEnd: 1006
      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_strlcpy
      functionSourceFile: '/src/sudo/lib/util/./strlcpy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 62
      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:    10
      BranchProfiles:  []
      Callsites:       []
...
