---
Fuzzer filename: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers_ldif.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    sudo_nss_can_continue
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rewind_perms
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    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:    0
      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:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    group_plugin_query
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_eventlog_config
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_interfaces
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_stubs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzz_conversation
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 117
      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_ldif.c:102,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    open_data
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 72
      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_ldif.c:72,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_ldif.c'
      linkageType:     externalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          71
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - fclose
        - fflush
        - free_parse_tree
        - fuzz_conversation
        - getenv
        - init_defaults
        - init_parse_tree
        - initprogname
        - open_data
        - sudo_getprogname
        - sudo_warn_set_conversation_v1
        - sudoers_debug_deregister
        - sudoers_debug_register
        - sudoers_parse_ldif
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:130,10'
          Dst:             open_data
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:134,5'
          Dst:             initprogname
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:135,28'
          Dst:             sudo_getprogname
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:135,5'
          Dst:             sudoers_debug_register
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:136,9'
          Dst:             getenv
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:137,2'
          Dst:             sudo_warn_set_conversation_v1
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:137,2'
          Dst:             fuzz_conversation
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:140,5'
          Dst:             init_defaults
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:141,5'
          Dst:             init_parse_tree
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:142,5'
          Dst:             sudoers_parse_ldif
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:145,5'
          Dst:             free_parse_tree
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:146,5'
          Dst:             fclose
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:147,5'
          Dst:             sudoers_debug_deregister
        - Src:             './regress/fuzz/fuzz_sudoers_ldif.c:148,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:    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:    set_cmnd_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 64
      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:    init_envtables
      functionSourceFile: '/src/sudo/plugins/sudoers/./regress/fuzz/fuzz_sudoers_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      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_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 45
      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_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 51
      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_string_iter
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    role_to_sudoers
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 470
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - bool
        - bool
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         99
      ICount:          720
      EdgeCount:       116
      CyclomaticComplexity: 19
      functionsReached:
        - asprintf
        - calloc
        - free_members
        - free_privilege
        - strcmp
        - strdup
        - strncasecmp
        - sudo_fatalx_nodebug_v1
        - sudo_ldap_is_negated
        - sudo_ldap_role_to_priv
        - sudo_warn_gettext_v1
        - sudoers_string_iter
      functionUses:    1
      BranchProfiles:
        - Branch String:   './parse_ldif.c:358,6'
          Branch Sides:    []
      Callsites:
        - Src:             './parse_ldif.c:342,12'
          Dst:             calloc
        - Src:             './parse_ldif.c:343,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:344,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:343,6'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:353,15'
          Dst:             calloc
        - Src:             './parse_ldif.c:354,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:355,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:354,3'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:357,19'
          Dst:             sudo_ldap_is_negated
        - Src:             './parse_ldif.c:370,7'
          Dst:             strcmp
        - Src:             './parse_ldif.c:380,18'
          Dst:             strdup
        - Src:             './parse_ldif.c:381,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:382,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:381,7'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:395,7'
          Dst:             strncasecmp
        - Src:             './parse_ldif.c:397,11'
          Dst:             asprintf
        - Src:             './parse_ldif.c:398,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:399,8'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:398,4'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:410,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:411,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:410,3'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:413,10'
          Dst:             asprintf
        - Src:             './parse_ldif.c:414,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:415,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:414,3'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:422,12'
          Dst:             sudo_ldap_role_to_priv
        - Src:             './parse_ldif.c:422,12'
          Dst:             sudoers_string_iter
        - Src:             './parse_ldif.c:428,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:429,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:428,2'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:445,3'
          Dst:             free_members
        - Src:             './parse_ldif.c:449,3'
          Dst:             free_members
        - Src:             './parse_ldif.c:460,2'
          Dst:             free_privilege
    - 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:    38
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    60
      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:    47
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strncasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    role_order_cmp
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ldif_to_sudoers
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          256
      EdgeCount:       54
      CyclomaticComplexity: 13
      functionsReached:
        - qsort
        - reallocarray
        - role_order_cmp
        - role_to_sudoers
        - sudo_fatalx_nodebug_v1
        - sudo_role_free
        - sudo_warn_gettext_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './parse_ldif.c:484,18'
          Dst:             reallocarray
        - Src:             './parse_ldif.c:486,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:486,38'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:486,2'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:494,5'
          Dst:             qsort
        - Src:             './parse_ldif.c:494,5'
          Dst:             role_order_cmp
        - Src:             './parse_ldif.c:528,2'
          Dst:             role_to_sudoers
        - Src:             './parse_ldif.c:534,2'
          Dst:             sudo_role_free
    - 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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    qsort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_role_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          70
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - str_list_free
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './parse_ldif.c:59,2'
          Dst:             str_list_free
        - Src:             './parse_ldif.c:60,2'
          Dst:             str_list_free
        - Src:             './parse_ldif.c:61,2'
          Dst:             str_list_free
        - Src:             './parse_ldif.c:62,2'
          Dst:             str_list_free
        - Src:             './parse_ldif.c:63,2'
          Dst:             str_list_free
        - Src:             './parse_ldif.c:64,2'
          Dst:             str_list_free
    - functionName:    ldif_store_string
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          189
      EdgeCount:       41
      CyclomaticComplexity: 9
      functionsReached:
        - strcasecmp
        - sudo_fatalx_nodebug_v1
        - sudo_warn_gettext_v1
        - sudoers_string_alloc
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             './parse_ldif.c:184,15'
          Dst:             sudoers_string_alloc
        - Src:             './parse_ldif.c:185,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:186,6'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:185,2'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:195,22'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:199,7'
          Dst:             strcasecmp
    - functionName:    strcasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    23
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unquote_cn
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 564
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './parse_ldif.c:552,11'
          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:    58
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_role_alloc
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         22
      ICount:          121
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - calloc
        - str_list_alloc
        - sudo_role_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './parse_ldif.c:77,12'
          Dst:             calloc
        - Src:             './parse_ldif.c:79,16'
          Dst:             str_list_alloc
        - Src:             './parse_ldif.c:80,16'
          Dst:             str_list_alloc
        - Src:             './parse_ldif.c:81,16'
          Dst:             str_list_alloc
        - Src:             './parse_ldif.c:82,21'
          Dst:             str_list_alloc
        - Src:             './parse_ldif.c:83,22'
          Dst:             str_list_alloc
        - Src:             './parse_ldif.c:84,18'
          Dst:             str_list_alloc
        - Src:             './parse_ldif.c:88,6'
          Dst:             sudo_role_free
    - functionName:    ldif_parse_attribute
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          408
      EdgeCount:       88
      CyclomaticComplexity: 20
      functionsReached:
        - __ctype_b_loc
        - strdup
        - strlen
        - sudo_base64_decode_v1
        - sudo_fatalx_nodebug_v1
        - sudo_warn_gettext_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './parse_ldif.c:110,10'
          Dst:             __ctype_b_loc
        - Src:             './parse_ldif.c:113,7'
          Dst:             __ctype_b_loc
        - Src:             './parse_ldif.c:130,15'
          Dst:             strlen
        - Src:             './parse_ldif.c:145,15'
          Dst:             strdup
        - Src:             './parse_ldif.c:147,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:148,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:147,6'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:150,8'
          Dst:             strlen
        - Src:             './parse_ldif.c:150,8'
          Dst:             sudo_base64_decode_v1
        - Src:             './parse_ldif.c:156,10'
          Dst:             __ctype_b_loc
    - 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:    34
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_list_cache
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - rbinsert
        - str_list_free
      functionUses:    4
      BranchProfiles:
        - Branch String:   './parse_ldif.c:303,5'
          Branch Sides:    []
      Callsites:
        - Src:             './parse_ldif.c:302,11'
          Dst:             rbinsert
        - Src:             './parse_ldif.c:310,2'
          Dst:             str_list_free
    - functionName:    ldif_store_options
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          171
      EdgeCount:       28
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - strdup
        - sudo_fatalx_nodebug_v1
        - sudo_ldap_parse_option
        - sudo_warn_gettext_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './parse_ldif.c:252,11'
          Dst:             calloc
        - Src:             './parse_ldif.c:254,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:255,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:254,6'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:260,10'
          Dst:             sudo_ldap_parse_option
        - Src:             './parse_ldif.c:261,16'
          Dst:             strdup
        - Src:             './parse_ldif.c:262,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:263,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:262,6'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:266,20'
          Dst:             strdup
        - Src:             './parse_ldif.c:267,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:268,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:267,3'
          Dst:             sudo_fatalx_nodebug_v1
    - functionName:    str_list_cmp
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          100
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - strcasecmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './parse_ldif.c:286,13'
          Dst:             strcasecmp
    - functionName:    sudoers_parse_ldif
      functionSourceFile: '/src/sudo/plugins/sudoers/./parse_ldif.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 779
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         156
      ICount:          854
      EdgeCount:       204
      CyclomaticComplexity: 50
      functionsReached:
        - getc
        - getdelim
        - ldif_parse_attribute
        - ldif_store_options
        - ldif_store_string
        - ldif_to_sudoers
        - rbcreate
        - rbdestroy
        - realloc
        - str_list_cache
        - str_list_cmp
        - str_list_free
        - strcasecmp
        - strdup
        - strncasecmp
        - strtod
        - sudo_fatalx_nodebug_v1
        - sudo_role_alloc
        - sudo_role_free
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - ungetc
        - unquote_cn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './parse_ldif.c:593,17'
          Dst:             rbcreate
        - Src:             './parse_ldif.c:593,17'
          Dst:             str_list_cmp
        - Src:             './parse_ldif.c:594,18'
          Dst:             rbcreate
        - Src:             './parse_ldif.c:594,18'
          Dst:             str_list_cmp
        - Src:             './parse_ldif.c:595,17'
          Dst:             rbcreate
        - Src:             './parse_ldif.c:595,17'
          Dst:             str_list_cmp
        - Src:             './parse_ldif.c:597,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:597,38'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:597,2'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:602,16'
          Dst:             getdelim
        - Src:             './parse_ldif.c:611,27'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:612,7'
          Dst:             ldif_store_options
        - Src:             './parse_ldif.c:613,7'
          Dst:             sudo_role_free
        - Src:             './parse_ldif.c:617,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:617,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './parse_ldif.c:619,7'
          Dst:             sudo_role_free
        - Src:             './parse_ldif.c:622,11'
          Dst:             str_list_cache
        - Src:             './parse_ldif.c:623,4'
          Dst:             str_list_cache
        - Src:             './parse_ldif.c:624,4'
          Dst:             str_list_cache
        - Src:             './parse_ldif.c:625,4'
          Dst:             str_list_cache
        - Src:             './parse_ldif.c:626,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:627,8'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:626,4'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:650,17'
          Dst:             realloc
        - Src:             './parse_ldif.c:651,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:652,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:651,3'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:661,12'
          Dst:             getc
        - Src:             './parse_ldif.c:669,2'
          Dst:             ungetc
        - Src:             './parse_ldif.c:676,7'
          Dst:             ldif_parse_attribute
        - Src:             './parse_ldif.c:677,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:677,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './parse_ldif.c:683,6'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:687,7'
          Dst:             strncasecmp
        - Src:             './parse_ldif.c:698,7'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:704,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:705,10'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:708,19'
          Dst:             sudo_role_alloc
        - Src:             './parse_ldif.c:709,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:710,8'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:709,4'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:722,6'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:724,17'
          Dst:             unquote_cn
        - Src:             './parse_ldif.c:726,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:727,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:726,3'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:729,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:730,6'
          Dst:             ldif_store_string
        - Src:             './parse_ldif.c:731,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:732,6'
          Dst:             ldif_store_string
        - Src:             './parse_ldif.c:733,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:734,6'
          Dst:             ldif_store_string
        - Src:             './parse_ldif.c:735,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:736,6'
          Dst:             ldif_store_string
        - Src:             './parse_ldif.c:737,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:738,6'
          Dst:             ldif_store_string
        - Src:             './parse_ldif.c:739,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:740,6'
          Dst:             ldif_store_string
        - Src:             './parse_ldif.c:741,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:742,6'
          Dst:             ldif_store_string
        - Src:             './parse_ldif.c:743,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:745,20'
          Dst:             strtod
        - Src:             './parse_ldif.c:747,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:747,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './parse_ldif.c:750,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:752,24'
          Dst:             strdup
        - Src:             './parse_ldif.c:754,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:755,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:754,3'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:757,13'
          Dst:             strcasecmp
        - Src:             './parse_ldif.c:759,23'
          Dst:             strdup
        - Src:             './parse_ldif.c:761,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:762,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './parse_ldif.c:761,3'
          Dst:             sudo_fatalx_nodebug_v1
        - Src:             './parse_ldif.c:766,5'
          Dst:             sudo_role_free
        - Src:             './parse_ldif.c:772,2'
          Dst:             ldif_to_sudoers
        - Src:             './parse_ldif.c:775,5'
          Dst:             rbdestroy
        - Src:             './parse_ldif.c:775,5'
          Dst:             str_list_free
        - Src:             './parse_ldif.c:776,5'
          Dst:             rbdestroy
        - Src:             './parse_ldif.c:776,5'
          Dst:             str_list_free
        - Src:             './parse_ldif.c:777,5'
          Dst:             rbdestroy
        - Src:             './parse_ldif.c:777,5'
          Dst:             str_list_free
    - 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:    2
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strtod
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      double
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_ldap_extract_digest
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 312
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         81
      ICount:          467
      EdgeCount:       103
      CyclomaticComplexity: 24
      functionsReached:
        - __ctype_b_loc
        - digest_type_to_name
        - strndup
        - sudo_debug_printf2_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './ldap_util.c:257,2'
          Branch Sides:    []
      Callsites:
        - Src:             './ldap_util.c:275,13'
          Dst:             __ctype_b_loc
        - Src:             './ldap_util.c:279,10'
          Dst:             __ctype_b_loc
        - Src:             './ldap_util.c:282,26'
          Dst:             __ctype_b_loc
        - Src:             './ldap_util.c:284,7'
          Dst:             __ctype_b_loc
        - Src:             './ldap_util.c:286,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:287,8'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:286,4'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:291,28'
          Dst:             strndup
        - Src:             './ldap_util.c:293,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:294,8'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:293,4'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:298,14'
          Dst:             __ctype_b_loc
        - Src:             './ldap_util.c:301,7'
          Dst:             digest_type_to_name
        - Src:             './ldap_util.c:301,7'
          Dst:             sudo_debug_printf2_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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_address
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          87
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - inet_pton
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './ldap_util.c:184,18'
          Dst:             strchr
        - Src:             './ldap_util.c:187,9'
          Dst:             inet_pton
        - Src:             './ldap_util.c:190,14'
          Dst:             inet_pton
    - 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:    12
      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:    sudo_ldap_value_dup
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 728
      functionLinenumberEnd: 744
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_ldap_value_cat
        - sudo_ldap_value_len
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './ldap_util.c:732,12'
          Dst:             sudo_ldap_value_len
        - Src:             './ldap_util.c:738,9'
          Dst:             sudo_ldap_value_cat
    - functionName:    sudo_ldap_value_len
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 636
      functionLinenumberEnd: 651
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          69
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './ldap_util.c:641,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sudo_ldap_value_cat
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 721
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          259
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   './ldap_util.c:674,2'
          Branch Sides:    []
      Callsites:
        - Src:             './ldap_util.c:672,16'
          Dst:             strlen
    - functionName:    sudo_ldap_extract_digests
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          88
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __ctype_b_loc
        - sudo_ldap_extract_digest
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './ldap_util.c:327,7'
          Dst:             sudo_ldap_extract_digest
        - Src:             './ldap_util.c:336,11'
          Dst:             __ctype_b_loc
    - functionName:    array_to_member_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         47
      ICount:          292
      EdgeCount:       55
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
        - free_members
        - strcmp
        - strdup
        - sudo_ldap_is_negated
      functionUses:    2
      BranchProfiles:
        - Branch String:   './ldap_util.c:132,2'
          Branch Sides:    []
      Callsites:
        - Src:             './ldap_util.c:123,20'
          Dst:             calloc
        - Src:             './ldap_util.c:128,11'
          Dst:             calloc
        - Src:             './ldap_util.c:130,15'
          Dst:             sudo_ldap_is_negated
        - Src:             './ldap_util.c:144,10'
          Dst:             strcmp
        - Src:             './ldap_util.c:154,21'
          Dst:             strdup
        - Src:             './ldap_util.c:169,5'
          Dst:             free_members
        - Src:             './ldap_util.c:170,5'
          Dst:             free_members
    - functionName:    sudo_ldap_is_negated
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    host_to_member
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          135
      EdgeCount:       29
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - is_address
        - strcmp
        - strdup
        - sudo_ldap_is_negated
      functionUses:    1
      BranchProfiles:
        - Branch String:   './ldap_util.c:209,5'
          Branch Sides:    []
      Callsites:
        - Src:             './ldap_util.c:206,14'
          Dst:             calloc
        - Src:             './ldap_util.c:208,18'
          Dst:             sudo_ldap_is_negated
        - Src:             './ldap_util.c:214,6'
          Dst:             strcmp
        - Src:             './ldap_util.c:220,6'
          Dst:             is_address
        - Src:             './ldap_util.c:228,17'
          Dst:             strdup
    - functionName:    sudo_ldap_new_member_all
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 627
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './ldap_util.c:625,14'
          Dst:             calloc
    - functionName:    sudo_ldap_role_to_priv
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 616
      functionDepth:   0
      returnType:      'N/A'
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         271
      ICount:          1651
      EdgeCount:       354
      CyclomaticComplexity: 85
      functionsReached:
        - append_default
        - array_to_member_list
        - calloc
        - free_privilege
        - host_to_member
        - parse_gentime
        - parse_timeout
        - snprintf
        - strcmp
        - strdup
        - strlen
        - strpbrk
        - sudo_ldap_extract_digests
        - sudo_ldap_is_negated
        - sudo_ldap_new_member_all
        - sudo_ldap_parse_option
        - sudo_rcstr_alloc
        - sudo_rcstr_delref
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_defaults_to_tags
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './ldap_util.c:361,17'
          Dst:             calloc
        - Src:             './ldap_util.c:367,23'
          Dst:             strdup
        - Src:             './ldap_util.c:373,11'
          Dst:             sudo_ldap_new_member_all
        - Src:             './ldap_util.c:379,15'
          Dst:             host_to_member
        - Src:             './ldap_util.c:394,17'
          Dst:             sudo_ldap_is_negated
        - Src:             './ldap_util.c:399,18'
          Dst:             calloc
        - Src:             './ldap_util.c:401,11'
          Dst:             calloc
        - Src:             './ldap_util.c:405,11'
          Dst:             calloc
        - Src:             './ldap_util.c:447,7'
          Dst:             array_to_member_list
        - Src:             './ldap_util.c:455,7'
          Dst:             array_to_member_list
        - Src:             './ldap_util.c:462,25'
          Dst:             parse_gentime
        - Src:             './ldap_util.c:464,24'
          Dst:             parse_gentime
        - Src:             './ldap_util.c:472,47'
          Dst:             strlen
        - Src:             './ldap_util.c:473,21'
          Dst:             sudo_rcstr_alloc
        - Src:             './ldap_util.c:475,19'
          Dst:             snprintf
        - Src:             './ldap_util.c:476,15'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:476,4'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:477,4'
          Dst:             sudo_rcstr_delref
        - Src:             './ldap_util.c:486,12'
          Dst:             sudo_ldap_parse_option
        - Src:             './ldap_util.c:487,11'
          Dst:             strcmp
        - Src:             './ldap_util.c:489,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:489,8'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:492,24'
          Dst:             parse_timeout
        - Src:             './ldap_util.c:493,18'
          Dst:             strcmp
        - Src:             './ldap_util.c:496,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:496,8'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:499,31'
          Dst:             strdup
        - Src:             './ldap_util.c:501,18'
          Dst:             strcmp
        - Src:             './ldap_util.c:504,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:504,8'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:507,28'
          Dst:             strdup
        - Src:             './ldap_util.c:509,18'
          Dst:             strcmp
        - Src:             './ldap_util.c:512,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:512,8'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:515,26'
          Dst:             strdup
        - Src:             './ldap_util.c:517,18'
          Dst:             strcmp
        - Src:             './ldap_util.c:520,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:520,8'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:523,26'
          Dst:             strdup
        - Src:             './ldap_util.c:525,18'
          Dst:             strcmp
        - Src:             './ldap_util.c:528,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:528,8'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:531,38'
          Dst:             strdup
        - Src:             './ldap_util.c:533,18'
          Dst:             strcmp
        - Src:             './ldap_util.c:536,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:536,8'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:539,27'
          Dst:             strdup
        - Src:             './ldap_util.c:541,18'
          Dst:             strcmp
        - Src:             './ldap_util.c:544,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:544,8'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:547,32'
          Dst:             strdup
        - Src:             './ldap_util.c:550,9'
          Dst:             append_default
        - Src:             './ldap_util.c:556,21'
          Dst:             sudoers_defaults_to_tags
        - Src:             './ldap_util.c:562,20'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:562,9'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:564,20'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:564,9'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:571,3'
          Dst:             sudo_rcstr_delref
        - Src:             './ldap_util.c:584,7'
          Dst:             sudo_ldap_extract_digests
        - Src:             './ldap_util.c:586,6'
          Dst:             strcmp
        - Src:             './ldap_util.c:591,19'
          Dst:             strpbrk
        - Src:             './ldap_util.c:594,18'
          Dst:             strdup
        - Src:             './ldap_util.c:597,21'
          Dst:             strdup
        - Src:             './ldap_util.c:608,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:608,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             './ldap_util.c:608,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './ldap_util.c:613,2'
          Dst:             free_privilege
    - 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:    sudo_ldap_parse_option
      functionSourceFile: '/src/sudo/plugins/sudoers/./ldap_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          204
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - __ctype_b_loc
        - strchr
        - strlen
        - sudo_ldap_is_negated
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './ldap_util.c:72,10'
          Dst:             strchr
        - Src:             './ldap_util.c:84,21'
          Dst:             __ctype_b_loc
        - Src:             './ldap_util.c:89,9'
          Dst:             __ctype_b_loc
        - Src:             './ldap_util.c:93,23'
          Dst:             strlen
        - Src:             './ldap_util.c:101,7'
          Dst:             sudo_ldap_is_negated
    - 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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_format_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 310
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:299,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:301,6'
          Dst:             strpbrk
        - Src:             './fmtsudoers.c:302,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:303,6'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:304,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:306,6'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:308,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:310,5'
          Dst:             sudo_lbuf_error_v1
    - functionName:    sudoers_format_cmndspec
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 287
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:233,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:235,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:237,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:239,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:241,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:243,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:245,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:248,8'
          Dst:             snprintf
        - Src:             './fmtsudoers.c:249,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:254,6'
          Dst:             gmtime_r
        - Src:             './fmtsudoers.c:255,19'
          Dst:             strftime
        - Src:             './fmtsudoers.c:257,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:263,6'
          Dst:             gmtime_r
        - Src:             './fmtsudoers.c:264,19'
          Dst:             strftime
        - Src:             './fmtsudoers.c:266,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:270,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:272,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:274,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:276,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:278,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:280,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:282,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:284,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:285,5'
          Dst:             sudoers_format_member
        - Src:             './fmtsudoers.c:287,5'
          Dst:             sudo_lbuf_error_v1
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strftime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_format_member
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 141
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:140,12'
          Dst:             sudoers_format_member_int
    - functionName:    sudoers_format_member_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 132
      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:48,5'
          Branch Sides:    []
      Callsites:
        - Src:             './fmtsudoers.c:50,6'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:56,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:64,7'
          Dst:             digest_type_to_name
        - Src:             './fmtsudoers.c:63,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:68,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:71,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:73,3'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:77,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:80,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:82,7'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:89,10'
          Dst:             strpbrk
        - Src:             './fmtsudoers.c:92,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:94,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:100,12'
          Dst:             alias_get
        - Src:             './fmtsudoers.c:103,8'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:104,4'
          Dst:             sudoers_format_member_int
        - Src:             './fmtsudoers.c:109,7'
          Dst:             alias_put
        - Src:             './fmtsudoers.c:118,8'
          Dst:             strspn
        - Src:             './fmtsudoers.c:119,3'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:121,7'
          Dst:             strpbrk
        - Src:             './fmtsudoers.c:122,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:123,7'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:124,7'
          Dst:             sudo_lbuf_append_v1
        - Src:             './fmtsudoers.c:126,7'
          Dst:             sudo_lbuf_append_quoted_v1
        - Src:             './fmtsudoers.c:132,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: 188
      functionLinenumberEnd: 210
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:196,11'
          Dst:             sudoers_defaults_to_tags
        - Src:             './fmtsudoers.c:198,7'
          Dst:             sudo_debug_printf2_v1
        - Src:             './fmtsudoers.c:202,7'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudoers_defaults_to_tags
      functionSourceFile: '/src/sudo/plugins/sudoers/./fmtsudoers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 179
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './fmtsudoers.c:155,6'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:157,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:159,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:161,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:163,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:165,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:167,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:169,13'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:170,6'
          Dst:             strcmp
        - Src:             './fmtsudoers.c:171,6'
          Dst:             strcmp
    - functionName:    sudoers_locale_callback
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          67
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - setlocale
        - sudoers_initlocale
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './locale.c:145,9'
          Dst:             sudoers_initlocale
        - Src:             './locale.c:146,6'
          Dst:             setlocale
    - functionName:    sudoers_initlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          95
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - strdup
        - sudo_debug_printf2_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './locale.c:59,21'
          Dst:             strdup
        - Src:             './locale.c:64,24'
          Dst:             strdup
        - Src:             './locale.c:67,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    setlocale
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_warn_setlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudoers_setlocale
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './locale.c:132,2'
          Dst:             sudoers_setlocale
        - Src:             './locale.c:133,5'
          Dst:             sudoers_setlocale
    - functionName:    sudoers_setlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          241
      EdgeCount:       70
      CyclomaticComplexity: 17
      functionsReached:
        - setlocale
        - strcmp
        - strdup
        - sudo_debug_printf2_v1
      functionUses:    6
      BranchProfiles:
        - Branch String:   './locale.c:84,5'
          Branch Sides:    []
      Callsites:
        - Src:             './locale.c:90,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './locale.c:93,9'
          Dst:             setlocale
        - Src:             './locale.c:95,21'
          Dst:             setlocale
        - Src:             './locale.c:97,18'
          Dst:             strdup
        - Src:             './locale.c:108,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './locale.c:111,9'
          Dst:             setlocale
        - Src:             './locale.c:113,11'
          Dst:             strcmp
        - Src:             './locale.c:115,21'
          Dst:             strdup
        - Src:             './locale.c:117,14'
          Dst:             setlocale
    - functionName:    sudoers_getlocale
      functionSourceFile: '/src/sudo/plugins/sudoers/./locale.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_remove_recursive
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          115
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - alias_remove
        - alias_remove_recursive
        - rbinsert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:281,14'
          Dst:             alias_remove
        - Src:             './alias.c:284,8'
          Dst:             alias_remove_recursive
        - Src:             './alias.c:288,6'
          Dst:             rbinsert
    - functionName:    alias_remove
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - rbdelete
        - rbfind
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:234,14'
          Dst:             rbfind
        - Src:             './alias.c:235,6'
          Dst:             rbdelete
        - Src:             './alias.c:237,5'
          Dst:             __errno_location
    - functionName:    __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:    55
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_find_used_members
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          91
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - alias_remove_recursive
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:306,11'
          Dst:             alias_remove_recursive
    - functionName:    alias_find_used
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          256
      EdgeCount:       38
      CyclomaticComplexity: 7
      functionsReached:
        - alias_find_used_members
        - alias_remove_recursive
      functionUses:    0
      BranchProfiles:
        - Branch String:   './alias.c:349,2'
          Branch Sides:    []
      Callsites:
        - Src:             './alias.c:330,12'
          Dst:             alias_find_used_members
        - Src:             './alias.c:333,16'
          Dst:             alias_find_used_members
        - Src:             './alias.c:336,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:338,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:341,12'
          Dst:             alias_remove_recursive
        - Src:             './alias.c:351,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:355,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:359,13'
          Dst:             alias_find_used_members
        - Src:             './alias.c:363,13'
          Dst:             alias_find_used_members
    - functionName:    alias_type_to_string
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - alias_free
        - rbdestroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:255,2'
          Dst:             rbdestroy
        - Src:             './alias.c:255,2'
          Dst:             alias_free
    - functionName:    alias_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - free_members
        - sudo_rcstr_delref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:212,2'
          Dst:             sudo_rcstr_delref
        - Src:             './alias.c:213,2'
          Dst:             free_members
    - functionName:    alias_compare
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          82
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:47,21'
          Dst:             strcmp
    - functionName:    no_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_apply_func
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_apply
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - alias_apply_func
        - rbapply_node
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:183,6'
          Dst:             rbapply_node
        - Src:             './alias.c:183,6'
          Dst:             alias_apply_func
    - functionName:    alloc_aliases
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - alias_compare
        - rbcreate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:246,5'
          Dst:             rbcreate
        - Src:             './alias.c:246,5'
          Dst:             alias_compare
    - functionName:    alias_add
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      bool
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          180
      EdgeCount:       31
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - alloc_aliases
        - calloc
        - rbinsert
        - sudo_rcstr_addref
      functionUses:    4
      BranchProfiles:
        - Branch String:   './alias.c:126,5'
          Branch Sides:    []
      Callsites:
        - Src:             './alias.c:115,29'
          Dst:             alloc_aliases
        - Src:             './alias.c:119,9'
          Dst:             calloc
        - Src:             './alias.c:126,13'
          Dst:             rbinsert
        - Src:             './alias.c:129,2'
          Dst:             __errno_location
        - Src:             './alias.c:141,15'
          Dst:             sudo_rcstr_addref
    - functionName:    alias_put
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alias_get
      functionSourceFile: '/src/sudo/plugins/sudoers/./alias.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - rbfind
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './alias.c:72,17'
          Dst:             rbfind
        - Src:             './alias.c:80,6'
          Dst:             __errno_location
        - Src:             './alias.c:85,2'
          Dst:             __errno_location
    - functionName:    check_rlimit
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 903
      functionLinenumberEnd: 930
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          215
      EdgeCount:       54
      CyclomaticComplexity: 13
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - strncmp
        - strtoull
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:907,9'
          Dst:             __ctype_b_loc
        - Src:             './defaults.c:911,2'
          Dst:             __errno_location
        - Src:             './defaults.c:913,11'
          Dst:             strtoull
        - Src:             './defaults.c:914,20'
          Dst:             __errno_location
        - Src:             './defaults.c:925,9'
          Dst:             strncmp
    - functionName:    strtoull
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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: 1210
      functionLinenumberEnd: 1252
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          263
      EdgeCount:       60
      CyclomaticComplexity: 12
      functionsReached:
        - calloc
        - strncmp
        - strndup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1224,7'
          Dst:             strncmp
        - Src:             './defaults.c:1243,8'
          Dst:             calloc
        - Src:             './defaults.c:1244,35'
          Dst:             strndup
        - Src:             './defaults.c:1245,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1245,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1245,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    store_rlimit
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 934
      functionLinenumberEnd: 957
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          122
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - check_rlimit
        - store_str
        - strchr
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:938,24'
          Dst:             strcmp
        - Src:             './defaults.c:938,52'
          Dst:             strcmp
        - Src:             './defaults.c:943,9'
          Dst:             strchr
        - Src:             './defaults.c:949,7'
          Dst:             check_rlimit
        - Src:             './defaults.c:951,7'
          Dst:             check_rlimit
        - Src:             './defaults.c:956,5'
          Dst:             store_str
    - functionName:    store_str
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1051
      functionLinenumberEnd: 1064
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - strdup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1058,24'
          Dst:             strdup
        - Src:             './defaults.c:1059,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1059,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1059,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    store_plugin
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1097
      functionLinenumberEnd: 1111
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          94
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - list_op
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1103,8'
          Dst:             list_op
        - Src:             './defaults.c:1106,20'
          Dst:             strlen
        - Src:             './defaults.c:1106,7'
          Dst:             list_op
    - functionName:    store_timespec
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 961
      functionLinenumberEnd: 1011
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         56
      ICount:          332
      EdgeCount:       70
      CyclomaticComplexity: 16
      functionsReached:
        - __ctype_b_loc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:973,8'
          Dst:             __ctype_b_loc
        - Src:             './defaults.c:990,8'
          Dst:             __ctype_b_loc
    - functionName:    store_timeout
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1160
      functionLinenumberEnd: 1175
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - parse_timeout
        - sudo_debug_printf2_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1166,16'
          Dst:             parse_timeout
        - Src:             './defaults.c:1168,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    store_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1068
      functionLinenumberEnd: 1093
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          158
      EdgeCount:       38
      CyclomaticComplexity: 9
      functionsReached:
        - list_op
        - strlen
        - sudo_strsplit_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1073,8'
          Dst:             list_op
        - Src:             './defaults.c:1078,26'
          Dst:             strlen
        - Src:             './defaults.c:1082,24'
          Dst:             strlen
        - Src:             './defaults.c:1082,11'
          Dst:             list_op
        - Src:             './defaults.c:1085,16'
          Dst:             sudo_strsplit_v1
        - Src:             './defaults.c:1087,8'
          Dst:             list_op
        - Src:             './defaults.c:1086,8'
          Dst:             sudo_strsplit_v1
    - functionName:    store_mode
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1139
      functionLinenumberEnd: 1156
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_strtomode_v2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1147,9'
          Dst:             sudo_strtomode_v2
        - Src:             './defaults.c:1149,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    store_uint
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 881
      functionLinenumberEnd: 898
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_strtonum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:889,20'
          Dst:             sudo_strtonum
        - Src:             './defaults.c:891,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    store_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 860
      functionLinenumberEnd: 877
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_strtonum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:868,11'
          Dst:             sudo_strtonum
        - Src:             './defaults.c:870,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    valid_path
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1180
      functionLinenumberEnd: 1204
      functionDepth:   0
      returnType:      bool
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          162
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - defaults_warnx
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1184,9'
          Dst:             strlen
        - Src:             './defaults.c:1185,2'
          Dst:             defaults_warnx
        - Src:             './defaults.c:1191,6'
          Dst:             defaults_warnx
        - Src:             './defaults.c:1198,6'
          Dst:             defaults_warnx
    - functionName:    defaults_warnx
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          58
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - parser_vwarnx
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:181,11'
          Dst:             parser_vwarnx
    - functionName:    cb_passprompt_regex
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1290
      functionLinenumberEnd: 1308
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          115
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - defaults_warnx
        - sudo_regex_compile_v1
        - sudo_warn_gettext_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1298,11'
          Dst:             sudo_regex_compile_v1
        - Src:             './defaults.c:1300,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1301,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:1299,3'
          Dst:             defaults_warnx
    - functionName:    append_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1285
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          151
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - strdup
        - sudo_rcstr_addref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1261,16'
          Dst:             calloc
        - Src:             './defaults.c:1266,21'
          Dst:             strdup
        - Src:             './defaults.c:1270,18'
          Dst:             strdup
        - Src:             './defaults.c:1274,5'
          Dst:             sudo_rcstr_addref
    - functionName:    check_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 834
      functionLinenumberEnd: 855
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          123
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - find_default
        - free_defs_val
        - parse_default_entry
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:841,8'
          Dst:             find_default
        - Src:             './defaults.c:846,10'
          Dst:             parse_default_entry
        - Src:             './defaults.c:848,3'
          Dst:             free_defs_val
    - functionName:    find_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          101
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - defaults_warnx
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:199,6'
          Dst:             strcmp
        - Src:             './defaults.c:203,2'
          Dst:             defaults_warnx
    - functionName:    parse_default_entry
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 327
      functionDepth:   0
      returnType:      bool
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          459
      EdgeCount:       83
      CyclomaticComplexity: 15
      functionsReached:
        - defaults_warnx
        - store_int
        - store_list
        - store_mode
        - store_plugin
        - store_rlimit
        - store_str
        - store_syslogfac
        - store_syslogpri
        - store_timeout
        - store_timespec
        - store_tuple
        - store_uint
        - sudo_debug_printf2_v1
        - valid_path
      functionUses:    3
      BranchProfiles:
        - Branch String:   './defaults.c:232,2'
          Branch Sides:    []
        - Branch String:   './defaults.c:261,5'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:224,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './defaults.c:247,3'
          Dst:             defaults_warnx
        - Src:             './defaults.c:256,2'
          Dst:             defaults_warnx
        - Src:             './defaults.c:263,11'
          Dst:             store_syslogfac
        - Src:             './defaults.c:266,11'
          Dst:             store_syslogpri
        - Src:             './defaults.c:270,8'
          Dst:             valid_path
        - Src:             './defaults.c:275,11'
          Dst:             store_str
        - Src:             './defaults.c:278,11'
          Dst:             store_int
        - Src:             './defaults.c:281,11'
          Dst:             store_uint
        - Src:             './defaults.c:284,11'
          Dst:             store_mode
        - Src:             './defaults.c:288,3'
          Dst:             defaults_warnx
        - Src:             './defaults.c:297,11'
          Dst:             store_list
        - Src:             './defaults.c:300,11'
          Dst:             store_timeout
        - Src:             './defaults.c:303,11'
          Dst:             store_tuple
        - Src:             './defaults.c:306,11'
          Dst:             store_timespec
        - Src:             './defaults.c:309,11'
          Dst:             store_plugin
        - Src:             './defaults.c:312,11'
          Dst:             store_rlimit
        - Src:             './defaults.c:315,6'
          Dst:             defaults_warnx
        - Src:             './defaults.c:322,2'
          Dst:             defaults_warnx
    - functionName:    free_defs_val
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - list_op
      functionUses:    2
      BranchProfiles:
        - Branch String:   './defaults.c:430,5'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:436,12'
          Dst:             list_op
    - functionName:    store_syslogfac
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1115
      functionLinenumberEnd: 1123
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_str2logfac_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1122,5'
          Dst:             sudo_str2logfac_v1
    - functionName:    store_syslogpri
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1127
      functionLinenumberEnd: 1135
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_str2logpri_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1134,5'
          Dst:             sudo_str2logpri_v1
    - functionName:    store_tuple
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1015
      functionLinenumberEnd: 1047
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          149
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:1038,10'
          Dst:             strcmp
    - functionName:    run_early_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 424
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          88
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - run_callback
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:418,11'
          Dst:             run_callback
    - functionName:    run_callback
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_early_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      bool
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          129
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - find_default
        - parse_default_entry
        - sudo_rcstr_addref
        - sudo_rcstr_delref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:389,11'
          Dst:             find_default
        - Src:             './defaults.c:393,6'
          Dst:             parse_default_entry
        - Src:             './defaults.c:395,3'
          Dst:             sudo_rcstr_delref
        - Src:             './defaults.c:396,20'
          Dst:             sudo_rcstr_addref
    - functionName:    default_binding_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 756
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          167
      EdgeCount:       38
      CyclomaticComplexity: 5
      functionsReached:
        - cmndlist_matches
        - hostlist_matches
        - runaslist_matches
        - userlist_matches
      functionUses:    2
      BranchProfiles:
        - Branch String:   './defaults.c:735,5'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:739,6'
          Dst:             userlist_matches
        - Src:             './defaults.c:743,6'
          Dst:             runaslist_matches
        - Src:             './defaults.c:747,6'
          Dst:             hostlist_matches
        - Src:             './defaults.c:751,6'
          Dst:             cmndlist_matches
    - functionName:    default_type_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 723
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          138
      EdgeCount:       38
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './defaults.c:700,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    is_early_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 331
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:336,6'
          Dst:             strcmp
    - functionName:    update_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 766
      functionLinenumberEnd: 826
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          249
      EdgeCount:       59
      CyclomaticComplexity: 16
      functionsReached:
        - default_binding_matches
        - default_type_matches
        - is_early_default
        - run_early_defaults
        - set_default
        - set_early_default
        - sudo_debug_printf2_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:772,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './defaults.c:786,36'
          Dst:             is_early_default
        - Src:             './defaults.c:791,11'
          Dst:             default_type_matches
        - Src:             './defaults.c:792,4'
          Dst:             default_binding_matches
        - Src:             './defaults.c:796,11'
          Dst:             set_early_default
        - Src:             './defaults.c:802,7'
          Dst:             run_early_defaults
        - Src:             './defaults.c:812,10'
          Dst:             is_early_default
        - Src:             './defaults.c:817,7'
          Dst:             default_type_matches
        - Src:             './defaults.c:818,7'
          Dst:             default_binding_matches
        - Src:             './defaults.c:822,7'
          Dst:             set_default
    - functionName:    set_default
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      bool
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          119
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - find_default
        - parse_default_entry
        - run_callback
        - sudo_debug_printf2_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:364,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './defaults.c:367,11'
          Dst:             find_default
        - Src:             './defaults.c:371,6'
          Dst:             parse_default_entry
        - Src:             './defaults.c:372,6'
          Dst:             run_callback
    - functionName:    init_passprompt_regex
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          76
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - strdup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:449,10'
          Dst:             calloc
        - Src:             './defaults.c:450,36'
          Dst:             strdup
        - Src:             './defaults.c:452,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:452,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:452,2'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    init_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 689
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         57
      ICount:          294
      EdgeCount:       78
      CyclomaticComplexity: 23
      functionsReached:
        - dgettext
        - free_defs_val
        - init_envtables
        - init_eventlog_config
        - init_passprompt_regex
        - store_syslogfac
        - store_syslogpri
        - store_tuple
        - strdup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_initlocale
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './defaults.c:474,6'
          Dst:             free_defs_val
        - Src:             './defaults.c:536,27'
          Dst:             strdup
        - Src:             './defaults.c:538,26'
          Dst:             strdup
        - Src:             './defaults.c:540,31'
          Dst:             strdup
        - Src:             './defaults.c:549,28'
          Dst:             strdup
        - Src:             './defaults.c:555,34'
          Dst:             strdup
        - Src:             './defaults.c:570,28'
          Dst:             strdup
        - Src:             './defaults.c:587,12'
          Dst:             store_syslogfac
        - Src:             './defaults.c:588,12'
          Dst:             store_syslogpri
        - Src:             './defaults.c:589,12'
          Dst:             store_syslogpri
        - Src:             './defaults.c:593,12'
          Dst:             store_tuple
        - Src:             './defaults.c:594,12'
          Dst:             store_tuple
        - Src:             './defaults.c:620,23'
          Dst:             strdup
        - Src:             './defaults.c:622,24'
          Dst:             strdup
        - Src:             './defaults.c:624,39'
          Dst:             dgettext
        - Src:             './defaults.c:624,32'
          Dst:             strdup
        - Src:             './defaults.c:627,35'
          Dst:             strdup
        - Src:             './defaults.c:631,29'
          Dst:             strdup
        - Src:             './defaults.c:634,34'
          Dst:             dgettext
        - Src:             './defaults.c:634,27'
          Dst:             strdup
        - Src:             './defaults.c:636,30'
          Dst:             strdup
        - Src:             './defaults.c:642,28'
          Dst:             strdup
        - Src:             './defaults.c:656,23'
          Dst:             strdup
        - Src:             './defaults.c:668,7'
          Dst:             sudoers_initlocale
        - Src:             './defaults.c:673,10'
          Dst:             init_envtables
        - Src:             './defaults.c:677,5'
          Dst:             init_eventlog_config
        - Src:             './defaults.c:680,10'
          Dst:             init_passprompt_regex
        - Src:             './defaults.c:687,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:687,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             './defaults.c:687,5'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    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:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dump_defaults
      functionSourceFile: '/src/sudo/plugins/sudoers/./defaults.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         56
      ICount:          390
      EdgeCount:       66
      CyclomaticComplexity: 12
      functionsReached:
        - dgettext
        - sudo_logfac2str_v1
        - sudo_logpri2str_v1
      functionUses:    0
      BranchProfiles:
        - Branch String:   './defaults.c:93,6'
          Branch Sides:    []
      Callsites:
        - Src:             './defaults.c:92,13'
          Dst:             dgettext
        - Src:             './defaults.c:108,8'
          Dst:             sudo_logfac2str_v1
        - Src:             './defaults.c:115,8'
          Dst:             sudo_logpri2str_v1
    - functionName:    digest_type_to_name
      functionSourceFile: '/src/sudo/plugins/sudoers/./digestname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   './digestname.c:32,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    parse_gentime
      functionSourceFile: '/src/sudo/plugins/sudoers/./gentime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         74
      ICount:          458
      EdgeCount:       88
      CyclomaticComplexity: 16
      functionsReached:
        - __ctype_b_loc
        - __isoc99_sscanf
        - mktime
        - strspn
        - sudo_debug_printf2_v1
        - timegm
      functionUses:    4
      BranchProfiles:
        - Branch String:   './gentime.c:83,2'
          Branch Sides:    []
        - Branch String:   './gentime.c:100,5'
          Branch Sides:    []
      Callsites:
        - Src:             './gentime.c:60,11'
          Dst:             strspn
        - Src:             './gentime.c:62,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:71,13'
          Dst:             __isoc99_sscanf
        - Src:             './gentime.c:74,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:81,43'
          Dst:             __ctype_b_loc
        - Src:             './gentime.c:108,8'
          Dst:             strspn
        - Src:             './gentime.c:110,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:116,10'
          Dst:             __isoc99_sscanf
        - Src:             './gentime.c:118,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:141,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:146,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './gentime.c:156,11'
          Dst:             mktime
        - Src:             './gentime.c:158,11'
          Dst:             timegm
    - functionName:    __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:    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:    4
      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:    12
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1806,12'
          Dst:             init_parser
    - functionName:    init_parser
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1761
      functionLinenumberEnd: 1800
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          112
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - free_parse_tree
        - init_lexer
        - parser_leak_init
        - sudo_rcstr_delref
        - sudo_rcstr_dup
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gram.y:1765,5'
          Dst:             free_parse_tree
        - Src:             'gram.y:1767,5'
          Dst:             parser_leak_init
        - Src:             'gram.y:1768,5'
          Dst:             init_lexer
        - Src:             'gram.y:1779,5'
          Dst:             sudo_rcstr_delref
        - Src:             'gram.y:1781,17'
          Dst:             sudo_rcstr_dup
        - Src:             'gram.y:1782,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1782,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1782,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'gram.y:1789,5'
          Dst:             sudo_rcstr_delref
        - Src:             'gram.y:1791,24'
          Dst:             sudo_rcstr_dup
        - Src:             'gram.y:1793,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1793,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:1793,6'
          Dst:             sudo_warnx_nodebug_v1
    - functionName:    free_parse_tree
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1742
      functionLinenumberEnd: 1753
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - free_aliases
        - free_defaults
        - free_userspecs
      functionUses:    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:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_parse_tree
      functionSourceFile: '/src/sudo/plugins/sudoers/gram.y'
      linkageType:     InternalLinkage
      functionLinenumber: 1715
      functionLinenumberEnd: 1723
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          62
      EdgeCount:       9
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    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:    0
      BranchProfiles:
        - Branch String:   'gram.c:1646,3'
          Branch Sides:    []
      Callsites:
        - Src:             'gram.c:1561,16'
          Dst:             sudoerslex
        - Src:             'gram.y:222,29'
          Dst:             push_include
        - Src:             'gram.y:224,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:230,29'
          Dst:             push_includedir
        - Src:             'gram.y:232,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:238,13'
          Dst:             add_userspec
        - Src:             'gram.y:239,5'
          Dst:             sudoerserror
        - Src:             'gram.y:256,13'
          Dst:             add_defaults
        - Src:             'gram.y:260,13'
          Dst:             add_defaults
        - Src:             'gram.y:264,13'
          Dst:             add_defaults
        - Src:             'gram.y:268,13'
          Dst:             add_defaults
        - Src:             'gram.y:272,13'
          Dst:             add_defaults
        - Src:             'gram.y:297,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:304,27'
          Dst:             new_default
        - Src:             'gram.y:306,5'
          Dst:             sudoerserror
        - Src:             'gram.y:309,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:310,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:313,27'
          Dst:             new_default
        - Src:             'gram.y:315,5'
          Dst:             sudoerserror
        - Src:             'gram.y:318,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:319,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:322,27'
          Dst:             new_default
        - Src:             'gram.y:324,5'
          Dst:             sudoerserror
        - Src:             'gram.y:327,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:328,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:329,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:332,27'
          Dst:             new_default
        - Src:             'gram.y:334,5'
          Dst:             sudoerserror
        - Src:             'gram.y:337,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:338,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:339,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:342,27'
          Dst:             new_default
        - Src:             'gram.y:344,5'
          Dst:             sudoerserror
        - Src:             'gram.y:347,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:348,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:349,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:355,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:366,30'
          Dst:             calloc
        - Src:             'gram.y:368,5'
          Dst:             sudoerserror
        - Src:             'gram.y:371,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:373,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:375,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:393,25'
          Dst:             new_member
        - Src:             'gram.y:395,5'
          Dst:             sudoerserror
        - Src:             'gram.y:398,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:399,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:402,25'
          Dst:             new_member
        - Src:             'gram.y:404,5'
          Dst:             sudoerserror
        - Src:             'gram.y:407,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:410,25'
          Dst:             new_member
        - Src:             'gram.y:412,5'
          Dst:             sudoerserror
        - Src:             'gram.y:415,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:416,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:419,25'
          Dst:             new_member
        - Src:             'gram.y:421,5'
          Dst:             sudoerserror
        - Src:             'gram.y:424,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:425,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:428,25'
          Dst:             new_member
        - Src:             'gram.y:430,5'
          Dst:             sudoerserror
        - Src:             'gram.y:433,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:434,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:442,8'
          Dst:             propagate_cmndspec
        - Src:             'gram.y:443,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:450,30'
          Dst:             calloc
        - Src:             'gram.y:452,5'
          Dst:             sudoerserror
        - Src:             'gram.y:455,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:462,6'
          Dst:             sudoerserror
        - Src:             'gram.y:474,6'
          Dst:             sudoerserror
        - Src:             'gram.y:481,5'
          Dst:             parser_leak_remove
        - Src:             'gram.y:485,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:487,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:489,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:491,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:493,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:498,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:500,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:503,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:514,25'
          Dst:             new_digest
        - Src:             'gram.y:516,5'
          Dst:             sudoerserror
        - Src:             'gram.y:519,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:520,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:523,25'
          Dst:             new_digest
        - Src:             'gram.y:525,5'
          Dst:             sudoerserror
        - Src:             'gram.y:528,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:529,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:532,25'
          Dst:             new_digest
        - Src:             'gram.y:534,5'
          Dst:             sudoerserror
        - Src:             'gram.y:537,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:538,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:541,25'
          Dst:             new_digest
        - Src:             'gram.y:543,5'
          Dst:             sudoerserror
        - Src:             'gram.y:546,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:547,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:553,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:567,5'
          Dst:             sudoerserror
        - Src:             'gram.y:570,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:588,9'
          Dst:             strcmp
        - Src:             'gram.y:589,9'
          Dst:             sudoerserror
        - Src:             'gram.y:594,12'
          Dst:             strlen
        - Src:             'gram.y:595,5'
          Dst:             sudoerserror
        - Src:             'gram.y:604,9'
          Dst:             strcmp
        - Src:             'gram.y:605,9'
          Dst:             sudoerserror
        - Src:             'gram.y:610,12'
          Dst:             strlen
        - Src:             'gram.y:611,5'
          Dst:             sudoerserror
        - Src:             'gram.y:615,5'
          Dst:             sudoerserror
        - Src:             'gram.y:618,5'
          Dst:             parser_warnx
        - Src:             'gram.y:672,24'
          Dst:             calloc
        - Src:             'gram.y:674,33'
          Dst:             new_member
        - Src:             'gram.y:682,5'
          Dst:             sudoerserror
        - Src:             'gram.y:685,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:689,24'
          Dst:             calloc
        - Src:             'gram.y:691,5'
          Dst:             sudoerserror
        - Src:             'gram.y:694,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:695,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:704,24'
          Dst:             calloc
        - Src:             'gram.y:706,5'
          Dst:             sudoerserror
        - Src:             'gram.y:709,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:710,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:711,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:717,24'
          Dst:             calloc
        - Src:             'gram.y:719,33'
          Dst:             new_member
        - Src:             'gram.y:726,5'
          Dst:             sudoerserror
        - Src:             'gram.y:729,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:730,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:735,24'
          Dst:             calloc
        - Src:             'gram.y:737,33'
          Dst:             new_member
        - Src:             'gram.y:745,5'
          Dst:             sudoerserror
        - Src:             'gram.y:748,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:766,22'
          Dst:             sudo_warn_gettext_v1
        - Src:             'gram.y:766,8'
          Dst:             sudoerserrorf
        - Src:             'gram.y:772,8'
          Dst:             init_options
        - Src:             'gram.y:775,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:780,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:785,36'
          Dst:             parse_gentime
        - Src:             'gram.y:786,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:789,5'
          Dst:             sudoerserror
        - Src:             'gram.y:794,35'
          Dst:             parse_gentime
        - Src:             'gram.y:795,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:798,5'
          Dst:             sudoerserror
        - Src:             'gram.y:803,34'
          Dst:             parse_timeout
        - Src:             'gram.y:804,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:807,9'
          Dst:             __errno_location
        - Src:             'gram.y:808,9'
          Dst:             sudoerserror
        - Src:             'gram.y:810,9'
          Dst:             sudoerserror
        - Src:             'gram.y:815,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:820,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:825,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:830,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:835,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:897,17'
          Dst:             new_command
        - Src:             'gram.y:898,5'
          Dst:             sudoerserror
        - Src:             'gram.y:901,25'
          Dst:             new_member
        - Src:             'gram.y:903,5'
          Dst:             sudoerserror
        - Src:             'gram.y:906,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:909,25'
          Dst:             new_member
        - Src:             'gram.y:911,5'
          Dst:             sudoerserror
        - Src:             'gram.y:914,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:915,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:920,12'
          Dst:             strlen
        - Src:             'gram.y:921,5'
          Dst:             sudoerserror
        - Src:             'gram.y:924,17'
          Dst:             new_command
        - Src:             'gram.y:925,5'
          Dst:             sudoerserror
        - Src:             'gram.y:928,25'
          Dst:             new_member
        - Src:             'gram.y:931,5'
          Dst:             sudoerserror
        - Src:             'gram.y:934,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:935,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:936,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:939,12'
          Dst:             strcmp
        - Src:             'gram.y:942,14'
          Dst:             new_command
        - Src:             'gram.y:943,9'
          Dst:             sudoerserror
        - Src:             'gram.y:946,22'
          Dst:             new_member
        - Src:             'gram.y:949,9'
          Dst:             sudoerserror
        - Src:             'gram.y:952,5'
          Dst:             parser_leak_remove
        - Src:             'gram.y:953,5'
          Dst:             parser_leak_add
        - Src:             'gram.y:955,5'
          Dst:             sudoerserror
        - Src:             'gram.y:969,13'
          Dst:             alias_add
        - Src:             'gram.y:971,48'
          Dst:             __errno_location
        - Src:             'gram.y:971,5'
          Dst:             alias_error
        - Src:             'gram.y:974,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:975,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:982,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:996,13'
          Dst:             alias_add
        - Src:             'gram.y:998,48'
          Dst:             __errno_location
        - Src:             'gram.y:998,5'
          Dst:             alias_error
        - Src:             'gram.y:1001,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1002,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1009,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1023,13'
          Dst:             alias_add
        - Src:             'gram.y:1025,49'
          Dst:             __errno_location
        - Src:             'gram.y:1025,5'
          Dst:             alias_error
        - Src:             'gram.y:1028,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1029,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1042,13'
          Dst:             alias_add
        - Src:             'gram.y:1044,48'
          Dst:             __errno_location
        - Src:             'gram.y:1044,5'
          Dst:             alias_error
        - Src:             'gram.y:1047,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1048,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1055,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1072,25'
          Dst:             new_member
        - Src:             'gram.y:1074,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1077,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1078,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1081,25'
          Dst:             new_member
        - Src:             'gram.y:1083,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1086,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1089,25'
          Dst:             new_member
        - Src:             'gram.y:1091,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1094,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1095,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1098,25'
          Dst:             new_member
        - Src:             'gram.y:1100,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1103,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1104,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1107,25'
          Dst:             new_member
        - Src:             'gram.y:1109,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1112,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1113,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1119,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1136,25'
          Dst:             new_member
        - Src:             'gram.y:1138,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1141,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1142,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1145,25'
          Dst:             new_member
        - Src:             'gram.y:1147,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1150,8'
          Dst:             parser_leak_add
        - Src:             'gram.y:1153,25'
          Dst:             new_member
        - Src:             'gram.y:1155,5'
          Dst:             sudoerserror
        - Src:             'gram.y:1158,8'
          Dst:             parser_leak_remove
        - Src:             'gram.y:1159,8'
          Dst:             parser_leak_add
        - Src:             'gram.c:3192,7'
          Dst:             sudoerserror
        - Src:             'gram.c:3208,11'
          Dst:             yydestruct
        - Src:             'gram.c:3264,7'
          Dst:             yydestruct
        - Src:             'gram.c:3303,3'
          Dst:             sudoerserror
        - Src:             'gram.c:3317,7'
          Dst:             yydestruct
        - Src:             'gram.c:3326,7'
          Dst:             yydestruct
    - functionName:    valid_domain
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 676
      functionLinenumberEnd: 688
      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: 695
      functionLinenumberEnd: 724
      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:701,31'
          Dst:             sudo_host_name_max_v1
        - Src:             './match.c:710,11'
          Dst:             getdomainname
        - Src:             './match.c:712,23'
          Dst:             valid_domain
        - Src:             './match.c:719,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: 584
      functionLinenumberEnd: 608
      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:591,16'
          Dst:             sudo_strtoid_v2
        - Src:             './match.c:598,6'
          Dst:             strcasecmp
        - Src:             './match.c:601,6'
          Dst:             strcmp
        - Src:             './match.c:605,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    cmnd_matches_all
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 491
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          177
      EdgeCount:       33
      CyclomaticComplexity: 7
      functionsReached:
        - alias_get
        - alias_put
        - cmnd_matches_all
        - command_matches
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match.c:498,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:501,10'
          Dst:             command_matches
        - Src:             './match.c:506,10'
          Dst:             alias_get
        - Src:             './match.c:509,17'
          Dst:             cmnd_matches_all
        - Src:             './match.c:516,3'
          Dst:             alias_put
    - functionName:    cmnd_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          164
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - alias_get
        - alias_put
        - cmndlist_matches
        - command_matches
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match.c:458,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:462,10'
          Dst:             command_matches
        - Src:             './match.c:467,10'
          Dst:             alias_get
        - Src:             './match.c:469,8'
          Dst:             cmndlist_matches
        - Src:             './match.c:477,3'
          Dst:             alias_put
    - functionName:    cmndlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 443
      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:438,12'
          Dst:             cmnd_matches
    - functionName:    hostname_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 528
      functionLinenumberEnd: 542
      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:533,12'
          Dst:             strchr
        - Src:             './match.c:535,9'
          Dst:             strpbrk
        - Src:             './match.c:536,6'
          Dst:             fnmatch
        - Src:             './match.c:539,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: 377
      functionLinenumberEnd: 421
      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:382,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:387,10'
          Dst:             netgr_matches
        - Src:             './match.c:392,10'
          Dst:             addr_matches
        - Src:             './match.c:396,10'
          Dst:             alias_get
        - Src:             './match.c:399,18'
          Dst:             hostlist_matches_int
        - Src:             './match.c:408,3'
          Dst:             alias_put
        - Src:             './match.c:413,10'
          Dst:             hostname_matches
        - Src:             './match.c:417,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    netgr_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 743
      functionLinenumberEnd: 801
      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:765,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:749,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:755,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:761,14'
          Dst:             sudo_getdomainname
        - Src:             './match.c:783,9'
          Dst:             innetgr
        - Src:             './match.c:786,6'
          Dst:             innetgr
        - Src:             './match.c:795,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    hostlist_matches_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 351
      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:347,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: 361
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - hostlist_matches_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:366,12'
          Dst:             hostlist_matches_int
    - functionName:    runas_grouplist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          320
      EdgeCount:       73
      CyclomaticComplexity: 17
      functionsReached:
        - alias_get
        - alias_put
        - group_matches
        - runas_getgroups
        - runas_grouplist_matches
        - sudo_gidlist_delref
      functionUses:    2
      BranchProfiles:
        - Branch String:   './match.c:233,6'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:238,11'
          Dst:             alias_get
        - Src:             './match.c:240,19'
          Dst:             runas_grouplist_matches
        - Src:             './match.c:249,4'
          Dst:             alias_put
        - Src:             './match.c:254,11'
          Dst:             group_matches
        - Src:             './match.c:270,29'
          Dst:             runas_getgroups
        - Src:             './match.c:279,6'
          Dst:             sudo_gidlist_delref
    - functionName:    runas_getgroups
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - sudo_get_gidlist
        - sudo_gidlist_addref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:135,2'
          Dst:             sudo_gidlist_addref
        - Src:             './match.c:141,5'
          Dst:             sudo_get_gidlist
    - functionName:    runas_userlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         65
      ICount:          413
      EdgeCount:       81
      CyclomaticComplexity: 18
      functionsReached:
        - alias_get
        - alias_put
        - netgr_matches
        - runas_userlist_matches
        - strcmp
        - usergr_matches
        - userpw_matches
      functionUses:    2
      BranchProfiles:
        - Branch String:   './match.c:163,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:168,7'
          Dst:             netgr_matches
        - Src:             './match.c:175,7'
          Dst:             usergr_matches
        - Src:             './match.c:179,7'
          Dst:             alias_get
        - Src:             './match.c:181,22'
          Dst:             runas_userlist_matches
        - Src:             './match.c:190,7'
          Dst:             alias_put
        - Src:             './match.c:195,7'
          Dst:             userpw_matches
        - Src:             './match.c:206,4'
          Dst:             strcmp
    - functionName:    usergr_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 666
      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:624,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:631,6'
          Dst:             group_plugin_query
        - Src:             './match.c:638,13'
          Dst:             sudo_getpwnam
        - Src:             './match.c:639,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match.c:646,9'
          Dst:             user_in_group
        - Src:             './match.c:653,6'
          Dst:             group_plugin_query
        - Src:             './match.c:661,2'
          Dst:             sudo_pw_delref
        - Src:             './match.c:663,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    userpw_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 551
      functionLinenumberEnd: 575
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          126
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - strcasecmp
        - strcmp
        - sudo_debug_printf2_v1
        - sudo_strtoid_v2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:558,16'
          Dst:             sudo_strtoid_v2
        - Src:             './match.c:565,6'
          Dst:             strcasecmp
        - Src:             './match.c:568,6'
          Dst:             strcmp
        - Src:             './match.c:572,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    runaslist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          228
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - runas_grouplist_matches
        - runas_userlist_matches
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:312,20'
          Dst:             runas_userlist_matches
        - Src:             './match.c:314,18'
          Dst:             runas_grouplist_matches
        - Src:             './match.c:321,10'
          Dst:             strcmp
    - functionName:    userlist_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          83
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - user_matches
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match.c:121,12'
          Dst:             user_matches
    - functionName:    user_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          292
      EdgeCount:       55
      CyclomaticComplexity: 12
      functionsReached:
        - alias_get
        - alias_put
        - netgr_matches
        - usergr_matches
        - userlist_matches
        - userpw_matches
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match.c:71,5'
          Branch Sides:    []
      Callsites:
        - Src:             './match.c:76,10'
          Dst:             netgr_matches
        - Src:             './match.c:82,10'
          Dst:             usergr_matches
        - Src:             './match.c:86,15'
          Dst:             alias_get
        - Src:             './match.c:88,18'
          Dst:             userlist_matches
        - Src:             './match.c:96,3'
          Dst:             alias_put
        - Src:             './match.c:101,10'
          Dst:             userpw_matches
    - functionName:    addr_matches_if
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          234
      EdgeCount:       57
      CyclomaticComplexity: 11
      functionsReached:
        - get_interfaces
        - inet_pton
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match_addr.c:67,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match_addr.c:54,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:58,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:64,5'
          Dst:             get_interfaces
        - Src:             './match_addr.c:76,7'
          Dst:             memcmp
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    addr_matches_if_netmask
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         74
      ICount:          380
      EdgeCount:       90
      CyclomaticComplexity: 18
      functionsReached:
        - get_interfaces
        - htonl
        - inet_pton
        - strchr
        - sudo_debug_printf2_v1
        - sudo_strtonum
      functionUses:    1
      BranchProfiles:
        - Branch String:   './match_addr.c:160,2'
          Branch Sides:    []
      Callsites:
        - Src:             './match_addr.c:107,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:111,9'
          Dst:             inet_pton
        - Src:             './match_addr.c:118,6'
          Dst:             strchr
        - Src:             './match_addr.c:119,10'
          Dst:             inet_pton
        - Src:             './match_addr.c:120,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_addr.c:125,18'
          Dst:             sudo_strtonum
        - Src:             './match_addr.c:127,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_addr.c:131,24'
          Dst:             htonl
        - Src:             './match_addr.c:137,6'
          Dst:             inet_pton
        - Src:             './match_addr.c:138,18'
          Dst:             sudo_strtonum
        - Src:             './match_addr.c:140,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_addr.c:157,5'
          Dst:             get_interfaces
    - functionName:    htonl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    addr_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - addr_matches_if
        - addr_matches_if_netmask
        - strchr
        - sudo_debug_printf2_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_addr.c:193,14'
          Dst:             strchr
        - Src:             './match_addr.c:195,8'
          Dst:             addr_matches_if_netmask
        - Src:             './match_addr.c:198,8'
          Dst:             addr_matches_if
        - Src:             './match_addr.c:200,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    command_matches_dir
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 352
      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:333,9'
          Dst:             strncmp
        - Src:             './match_command.c:337,9'
          Dst:             strchr
        - Src:             './match_command.c:341,10'
          Dst:             open_cmnd
        - Src:             './match_command.c:343,9'
          Dst:             digest_matches
        - Src:             './match_command.c:345,5'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:350,2'
          Dst:             close
    - functionName:    open_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          182
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - fcntl
        - open
        - snprintf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:183,6'
          Dst:             snprintf
        - Src:             './match_command.c:185,6'
          Dst:             __errno_location
        - Src:             './match_command.c:191,10'
          Dst:             open
        - Src:             './match_command.c:193,21'
          Dst:             __errno_location
        - Src:             './match_command.c:195,26'
          Dst:             __errno_location
        - Src:             './match_command.c:196,12'
          Dst:             open
        - Src:             './match_command.c:197,6'
          Dst:             __errno_location
        - Src:             './match_command.c:203,11'
          Dst:             fcntl
    - functionName:    set_cmnd_fd
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          109
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - close
        - fcntl
        - is_script
        - snprintf
        - stat
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:214,2'
          Dst:             close
        - Src:             './match_command.c:219,6'
          Dst:             close
        - Src:             './match_command.c:221,13'
          Dst:             is_script
        - Src:             './match_command.c:227,12'
          Dst:             snprintf
        - Src:             './match_command.c:228,10'
          Dst:             stat
        - Src:             './match_command.c:230,3'
          Dst:             close
        - Src:             './match_command.c:237,11'
          Dst:             fcntl
        - Src:             './match_command.c:238,9'
          Dst:             fcntl
    - functionName:    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: 151
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - pread
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:156,9'
          Dst:             pread
    - functionName:    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: 57
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - regexec
        - regfree
        - sudo_debug_printf2_v1
        - sudo_regex_compile_v1
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:63,10'
          Dst:             sudo_regex_compile_v1
        - Src:             './match_command.c:64,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_command.c:70,9'
          Dst:             regexec
        - Src:             './match_command.c:74,5'
          Dst:             regfree
    - functionName:    regexec
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regfree
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    command_matches_normal
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 805
      functionLinenumberEnd: 840
      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:811,12'
          Dst:             strlen
        - Src:             './match_command.c:813,2'
          Dst:             command_matches_dir
        - Src:             './match_command.c:817,9'
          Dst:             strcmp
        - Src:             './match_command.c:818,6'
          Dst:             command_args_match
        - Src:             './match_command.c:820,11'
          Dst:             open_cmnd
        - Src:             './match_command.c:822,10'
          Dst:             digest_matches
        - Src:             './match_command.c:827,29'
          Dst:             strdup
        - Src:             './match_command.c:828,14'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:829,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:828,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_command.c:832,6'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:838,2'
          Dst:             close
    - functionName:    command_args_match
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          185
      EdgeCount:       44
      CyclomaticComplexity: 10
      functionsReached:
        - fnmatch
        - regex_matches
        - strcmp
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:93,9'
          Dst:             strcmp
        - Src:             './match_command.c:101,15'
          Dst:             strlen
        - Src:             './match_command.c:103,6'
          Dst:             regex_matches
        - Src:             './match_command.c:107,9'
          Dst:             strcmp
        - Src:             './match_command.c:109,9'
          Dst:             fnmatch
    - functionName:    command_matches_glob
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 796
      functionLinenumberEnd: 798
      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:797,12'
          Dst:             command_matches_fnmatch
    - functionName:    command_matches_fnmatch
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 400
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          257
      EdgeCount:       61
      CyclomaticComplexity: 14
      functionsReached:
        - close
        - command_args_match
        - digest_matches
        - fnmatch
        - open_cmnd
        - set_cmnd_fd
        - snprintf
        - strdup
        - sudo_contains_dot_dot_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:420,27'
          Dst:             sudo_contains_dot_dot_v1
        - Src:             './match_command.c:421,6'
          Dst:             fnmatch
        - Src:             './match_command.c:425,8'
          Dst:             snprintf
        - Src:             './match_command.c:430,6'
          Dst:             fnmatch
        - Src:             './match_command.c:434,9'
          Dst:             command_args_match
        - Src:             './match_command.c:436,7'
          Dst:             open_cmnd
        - Src:             './match_command.c:443,6'
          Dst:             digest_matches
        - Src:             './match_command.c:448,25'
          Dst:             strdup
        - Src:             './match_command.c:449,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:450,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:449,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_command.c:453,2'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:457,6'
          Dst:             close
    - functionName:    command_matches_regex
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          257
      EdgeCount:       61
      CyclomaticComplexity: 14
      functionsReached:
        - close
        - command_args_match
        - digest_matches
        - open_cmnd
        - regex_matches
        - set_cmnd_fd
        - snprintf
        - strdup
        - sudo_contains_dot_dot_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './match_command.c:484,27'
          Dst:             sudo_contains_dot_dot_v1
        - Src:             './match_command.c:485,6'
          Dst:             regex_matches
        - Src:             './match_command.c:489,8'
          Dst:             snprintf
        - Src:             './match_command.c:494,6'
          Dst:             regex_matches
        - Src:             './match_command.c:498,9'
          Dst:             command_args_match
        - Src:             './match_command.c:500,7'
          Dst:             open_cmnd
        - Src:             './match_command.c:507,6'
          Dst:             digest_matches
        - Src:             './match_command.c:512,25'
          Dst:             strdup
        - Src:             './match_command.c:513,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:514,3'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_command.c:513,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_command.c:517,2'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:521,6'
          Dst:             close
    - functionName:    command_matches_all
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 358
      functionLinenumberEnd: 394
      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:365,9'
          Dst:             strchr
        - Src:             './match_command.c:379,8'
          Dst:             open_cmnd
        - Src:             './match_command.c:384,9'
          Dst:             digest_matches
        - Src:             './match_command.c:386,5'
          Dst:             set_cmnd_fd
        - Src:             './match_command.c:392,2'
          Dst:             close
    - functionName:    command_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_command.c'
      linkageType:     InternalLinkage
      functionLinenumber: 852
      functionLinenumberEnd: 958
      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:859,27'
          Dst:             strcmp
        - Src:             './match_command.c:860,3'
          Dst:             strcmp
        - Src:             './match_command.c:868,31'
          Dst:             strcmp
        - Src:             './match_command.c:879,11'
          Dst:             set_cmnd_path
        - Src:             './match_command.c:890,8'
          Dst:             command_matches_all
        - Src:             './match_command.c:896,8'
          Dst:             command_matches_regex
        - Src:             './match_command.c:909,6'
          Dst:             strcmp
        - Src:             './match_command.c:910,3'
          Dst:             strcmp
        - Src:             './match_command.c:911,10'
          Dst:             strcmp
        - Src:             './match_command.c:912,7'
          Dst:             command_args_match
        - Src:             './match_command.c:920,9'
          Dst:             strpbrk
        - Src:             './match_command.c:926,12'
          Dst:             command_matches_fnmatch
        - Src:             './match_command.c:929,12'
          Dst:             command_matches_glob
        - Src:             './match_command.c:933,8'
          Dst:             command_matches_normal
        - Src:             './match_command.c:951,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    digest_matches
      functionSourceFile: '/src/sudo/plugins/sudoers/./match_digest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          356
      EdgeCount:       72
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - close
        - digest_type_to_name
        - lseek
        - memcmp
        - open
        - snprintf
        - strlen
        - sudo_base64_decode_v1
        - sudo_debug_printf2_v1
        - sudo_filedigest
        - sudo_hexchar_v1
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './match_digest.c:59,13'
          Dst:             snprintf
        - Src:             './match_digest.c:61,13'
          Dst:             __errno_location
        - Src:             './match_digest.c:62,13'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './match_digest.c:69,15'
          Dst:             open
        - Src:             './match_digest.c:81,20'
          Dst:             sudo_filedigest
        - Src:             './match_digest.c:83,10'
          Dst:             lseek
        - Src:             './match_digest.c:84,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_digest.c:98,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:98,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:98,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_digest.c:101,6'
          Dst:             strlen
        - Src:             './match_digest.c:105,17'
          Dst:             sudo_hexchar_v1
        - Src:             './match_digest.c:112,19'
          Dst:             sudo_base64_decode_v1
        - Src:             './match_digest.c:118,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:117,3'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_digest.c:123,6'
          Dst:             memcmp
        - Src:             './match_digest.c:128,2'
          Dst:             digest_type_to_name
        - Src:             './match_digest.c:128,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './match_digest.c:137,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './match_digest.c:138,22'
          Dst:             digest_type_to_name
        - Src:             './match_digest.c:137,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './match_digest.c:141,2'
          Dst:             close
    - functionName:    lseek
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parser_warnx
      functionSourceFile: '/src/sudo/plugins/sudoers/./parser_warnx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      bool
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          63
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - parser_vwarnx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './parser_warnx.c:73,11'
          Dst:             parser_vwarnx
    - functionName:    parser_vwarnx
      functionSourceFile: '/src/sudo/plugins/sudoers/./parser_warnx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      bool
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
        - bool
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          142
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - dgettext
        - sudoers_setlocale
        - vasprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './parser_warnx.c:46,2'
          Dst:             sudoers_setlocale
        - Src:             './parser_warnx.c:47,25'
          Dst:             dgettext
        - Src:             './parser_warnx.c:47,6'
          Dst:             vasprintf
        - Src:             './parser_warnx.c:51,39'
          Dst:             dgettext
        - Src:             './parser_warnx.c:54,39'
          Dst:             dgettext
        - Src:             './parser_warnx.c:56,2'
          Dst:             sudoers_setlocale
    - functionName:    user_shell_valid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1212
      functionLinenumberEnd: 1219
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    user_in_group
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1115
      functionLinenumberEnd: 1204
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         63
      ICount:          332
      EdgeCount:       83
      CyclomaticComplexity: 22
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_get_gidlist
        - sudo_get_grlist
        - sudo_getgrnam
        - sudo_gidlist_delref
        - sudo_gr_delref
        - sudo_grlist_delref
        - sudo_strtoid_v2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:1128,22'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil.c:1130,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:1137,21'
          Dst:             sudo_get_gidlist
        - Src:             './pwutil.c:1157,13'
          Dst:             sudo_getgrnam
        - Src:             './pwutil.c:1169,21'
          Dst:             sudo_get_gidlist
        - Src:             './pwutil.c:1178,26'
          Dst:             sudo_get_grlist
        - Src:             './pwutil.c:1196,2'
          Dst:             sudo_gr_delref
        - Src:             './pwutil.c:1198,2'
          Dst:             sudo_grlist_delref
        - Src:             './pwutil.c:1200,2'
          Dst:             sudo_gidlist_delref
        - Src:             './pwutil.c:1202,5'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_get_gidlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1002
      functionLinenumberEnd: 1059
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          230
      EdgeCount:       41
      CyclomaticComplexity: 8
      functionsReached:
        - cmp_gidlist
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    4
      BranchProfiles:
        - Branch String:   './pwutil.c:1034,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:1007,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:1011,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:1011,18'
          Dst:             cmp_gidlist
        - Src:             './pwutil.c:1013,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1013,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1013,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1021,17'
          Dst:             rbfind
        - Src:             './pwutil.c:1033,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:1034,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:1037,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1037,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1043,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1043,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:1050,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_getgrnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 594
      functionLinenumberEnd: 652
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          252
      EdgeCount:       48
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - calloc
        - cmp_pwnam
        - rbcreate
        - rbfind
        - rbinsert
        - strlen
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:630,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:600,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:600,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:602,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:602,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:602,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:609,17'
          Dst:             rbfind
        - Src:             './pwutil.c:618,21'
          Dst:             strlen
        - Src:             './pwutil.c:619,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:619,33'
          Dst:             calloc
        - Src:             './pwutil.c:620,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:620,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:629,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:630,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:633,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:633,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:638,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:638,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:644,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_get_grlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 917
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         35
      ICount:          224
      EdgeCount:       41
      CyclomaticComplexity: 8
      functionsReached:
        - cmp_pwnam
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:892,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:866,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:870,17'
          Dst:             rbcreate
        - Src:             './pwutil.c:870,17'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:872,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:872,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:872,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:879,17'
          Dst:             rbfind
        - Src:             './pwutil.c:891,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:892,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:895,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:895,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:901,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:901,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:908,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_gr_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 522
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          24
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_gr_delref_item
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:520,5'
          Dst:             sudo_gr_delref_item
    - functionName:    sudo_grlist_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 832
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          24
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_grlist_delref_item
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:830,5'
          Dst:             sudo_grlist_delref_item
    - functionName:    sudo_gidlist_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 800
      functionLinenumberEnd: 804
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          24
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_gidlist_delref_item
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:802,5'
          Dst:             sudo_gidlist_delref_item
    - functionName:    sudo_gidlist_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 788
      functionLinenumberEnd: 796
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_grlist_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 816
      functionLinenumberEnd: 824
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gr_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 506
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmp_pwnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strcmp
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:145,15'
          Dst:             strcmp
        - Src:             './pwutil.c:147,8'
          Dst:             strcmp
    - functionName:    cmp_gidlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:162,15'
          Dst:             strcmp
        - Src:             './pwutil.c:165,13'
          Dst:             strcmp
    - functionName:    sudo_set_gidlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1064
      functionLinenumberEnd: 1111
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          184
      EdgeCount:       30
      CyclomaticComplexity: 5
      functionsReached:
        - cmp_gidlist
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_group_list
        - sudo_debug_printf2_v1
        - sudo_gidlist_delref_item
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    0
      BranchProfiles:
        - Branch String:   './pwutil.c:1094,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:1068,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:1072,5'
          Dst:             sudo_debug_group_list
        - Src:             './pwutil.c:1075,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:1075,18'
          Dst:             cmp_gidlist
        - Src:             './pwutil.c:1077,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1077,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1077,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1088,9'
          Dst:             rbfind
        - Src:             './pwutil.c:1090,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1090,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1093,2'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:1094,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:1096,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1096,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:1098,6'
          Dst:             sudo_gidlist_delref_item
        - Src:             './pwutil.c:1101,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:1101,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:1102,6'
          Dst:             sudo_gidlist_delref_item
        - Src:             './pwutil.c:1106,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_debug_group_list
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 922
      functionLinenumberEnd: 949
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          164
      EdgeCount:       37
      CyclomaticComplexity: 9
      functionsReached:
        - snprintf
        - strlen
        - sudo_debug_needed_v1
        - sudo_debug_printf2_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:926,28'
          Dst:             sudo_debug_needed_v1
        - Src:             './pwutil.c:930,9'
          Dst:             strlen
        - Src:             './pwutil.c:937,22'
          Dst:             snprintf
        - Src:             './pwutil.c:944,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_set_grlist
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 953
      functionLinenumberEnd: 998
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          172
      EdgeCount:       30
      CyclomaticComplexity: 5
      functionsReached:
        - cmp_pwnam
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_group_list
        - sudo_debug_printf2_v1
        - sudo_grlist_delref_item
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    0
      BranchProfiles:
        - Branch String:   './pwutil.c:981,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:957,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:960,5'
          Dst:             sudo_debug_group_list
        - Src:             './pwutil.c:963,17'
          Dst:             rbcreate
        - Src:             './pwutil.c:963,17'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:965,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:965,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:965,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:975,9'
          Dst:             rbfind
        - Src:             './pwutil.c:977,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:977,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:980,2'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:981,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:983,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:983,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:985,6'
          Dst:             sudo_grlist_delref_item
        - Src:             './pwutil.c:988,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:988,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:989,6'
          Dst:             sudo_grlist_delref_item
        - Src:             './pwutil.c:993,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_freegrcache
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 836
      functionLinenumberEnd: 857
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          75
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - rbdestroy
        - sudo_gidlist_delref_item
        - sudo_gr_delref_item
        - sudo_grlist_delref_item
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:840,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:840,2'
          Dst:             sudo_gr_delref_item
        - Src:             './pwutil.c:844,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:844,2'
          Dst:             sudo_gr_delref_item
        - Src:             './pwutil.c:848,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:848,2'
          Dst:             sudo_grlist_delref_item
        - Src:             './pwutil.c:852,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:852,2'
          Dst:             sudo_gidlist_delref_item
    - functionName:    sudo_grlist_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 808
      functionLinenumberEnd: 812
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gidlist_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 784
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fakegrnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 776
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_mkgrent
        - sudo_strtoid_v2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:768,19'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil.c:770,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:775,5'
          Dst:             sudo_mkgrent
    - functionName:    sudo_mkgrent
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 756
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          419
      EdgeCount:       67
      CyclomaticComplexity: 14
      functionsReached:
        - calloc
        - cmp_grgid
        - cmp_pwnam
        - rbcreate
        - rbinsert
        - strlen
        - sudo_gr_delref_item
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:733,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:670,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:670,18'
          Dst:             cmp_grgid
        - Src:             './pwutil.c:672,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:672,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:674,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:674,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:674,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:679,13'
          Dst:             strlen
        - Src:             './pwutil.c:683,11'
          Dst:             strlen
        - Src:             './pwutil.c:697,11'
          Dst:             calloc
        - Src:             './pwutil.c:699,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:699,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:710,19'
          Dst:             strlen
        - Src:             './pwutil.c:733,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:739,3'
          Dst:             sudo_gr_delref_item
        - Src:             './pwutil.c:748,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:748,6'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    cmp_grgid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:490,9'
          Dst:             strcmp
    - functionName:    sudo_getgrgid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          238
      EdgeCount:       48
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - calloc
        - cmp_grgid
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:563,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:535,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:535,18'
          Dst:             cmp_grgid
        - Src:             './pwutil.c:537,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:537,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:537,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:544,17'
          Dst:             rbfind
        - Src:             './pwutil.c:553,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:553,33'
          Dst:             calloc
        - Src:             './pwutil.c:554,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:554,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:562,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:563,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:566,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:566,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:572,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:572,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:578,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_gr_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 502
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_freepwcache
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          47
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - rbdestroy
        - sudo_pw_delref_item
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:469,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:469,2'
          Dst:             sudo_pw_delref_item
        - Src:             './pwutil.c:473,2'
          Dst:             rbdestroy
        - Src:             './pwutil.c:473,2'
          Dst:             sudo_pw_delref_item
    - functionName:    sudo_pw_delref_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fakepwnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_debug_printf2_v1
        - sudo_mkpwent
        - sudo_strtoid_v2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:454,19'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil.c:456,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:460,5'
          Dst:             sudo_mkpwent
    - functionName:    sudo_mkpwent
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 442
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          378
      EdgeCount:       53
      CyclomaticComplexity: 11
      functionsReached:
        - calloc
        - cmp_pwnam
        - cmp_pwuid
        - rbcreate
        - rbinsert
        - strlen
        - sudo_debug_printf2_v1
        - sudo_pw_delref_item
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:420,2'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:359,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:359,18'
          Dst:             cmp_pwuid
        - Src:             './pwutil.c:361,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:361,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:363,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:363,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:363,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:373,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil.c:377,16'
          Dst:             strlen
        - Src:             './pwutil.c:378,16'
          Dst:             strlen
        - Src:             './pwutil.c:379,17'
          Dst:             strlen
        - Src:             './pwutil.c:388,11'
          Dst:             calloc
        - Src:             './pwutil.c:390,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:390,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:420,10'
          Dst:             rbinsert
        - Src:             './pwutil.c:426,3'
          Dst:             sudo_pw_delref_item
        - Src:             './pwutil.c:435,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:435,6'
          Dst:             sudo_warn_nodebug_v1
    - functionName:    cmp_pwuid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:130,9'
          Dst:             strcmp
    - functionName:    sudo_getpwnam
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          252
      EdgeCount:       48
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - calloc
        - cmp_pwnam
        - rbcreate
        - rbfind
        - rbinsert
        - strlen
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './pwutil.c:319,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:283,19'
          Dst:             rbcreate
        - Src:             './pwutil.c:283,19'
          Dst:             cmp_pwnam
        - Src:             './pwutil.c:285,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:285,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:285,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:292,17'
          Dst:             rbfind
        - Src:             './pwutil.c:307,21'
          Dst:             strlen
        - Src:             './pwutil.c:308,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:308,33'
          Dst:             calloc
        - Src:             './pwutil.c:309,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:309,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:318,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:319,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:322,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:322,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:327,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:327,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:333,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_getpwuid
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          238
      EdgeCount:       48
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - calloc
        - cmp_pwuid
        - rbcreate
        - rbfind
        - rbinsert
        - sudo_debug_printf2_v1
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warn_nodebug_v1
        - sudo_warnx_nodebug_v1
      functionUses:    0
      BranchProfiles:
        - Branch String:   './pwutil.c:246,5'
          Branch Sides:    []
      Callsites:
        - Src:             './pwutil.c:212,18'
          Dst:             rbcreate
        - Src:             './pwutil.c:212,18'
          Dst:             cmp_pwuid
        - Src:             './pwutil.c:214,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:214,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:214,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:221,17'
          Dst:             rbfind
        - Src:             './pwutil.c:236,6'
          Dst:             __errno_location
        - Src:             './pwutil.c:236,33'
          Dst:             calloc
        - Src:             './pwutil.c:237,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:237,6'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:245,5'
          Dst:             sudo_strlcpy
        - Src:             './pwutil.c:246,13'
          Dst:             rbinsert
        - Src:             './pwutil.c:249,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:249,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './pwutil.c:255,12'
          Dst:             sudo_warn_gettext_v1
        - Src:             './pwutil.c:255,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             './pwutil.c:261,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_pw_delref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          24
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_pw_delref_item
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil.c:197,5'
          Dst:             sudo_pw_delref_item
    - functionName:    sudo_pw_addref
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pwutil_set_max_groups
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pwutil_get_max_groups
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pwutil_set_backend
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          87
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_valid_shell
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          63
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - endusershell
        - getusershell
        - setusershell
        - strcmp
        - sudo_debug_printf2_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:444,5'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:447,5'
          Dst:             setusershell
        - Src:             './pwutil_impl.c:448,21'
          Dst:             getusershell
        - Src:             './pwutil_impl.c:449,6'
          Dst:             strcmp
        - Src:             './pwutil_impl.c:452,5'
          Dst:             endusershell
    - functionName:    setusershell
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getusershell
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    endusershell
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_make_grlist_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          270
      EdgeCount:       30
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - calloc
        - strlen
        - sudo_debug_printf2_v1
        - sudo_get_gidlist
        - sudo_getgrgid
        - sudo_gidlist_delref
        - sudo_gr_delref
        - sudo_login_name_max_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:353,34'
          Dst:             sudo_login_name_max_v1
        - Src:             './pwutil_impl.c:363,15'
          Dst:             sudo_get_gidlist
        - Src:             './pwutil_impl.c:365,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:367,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:372,13'
          Dst:             strlen
        - Src:             './pwutil_impl.c:378,20'
          Dst:             calloc
        - Src:             './pwutil_impl.c:379,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:381,2'
          Dst:             sudo_gidlist_delref
        - Src:             './pwutil_impl.c:411,13'
          Dst:             sudo_getgrgid
        - Src:             './pwutil_impl.c:412,12'
          Dst:             strlen
        - Src:             './pwutil_impl.c:416,3'
          Dst:             sudo_gr_delref
        - Src:             './pwutil_impl.c:422,6'
          Dst:             sudo_gr_delref
        - Src:             './pwutil_impl.c:426,5'
          Dst:             sudo_gidlist_delref
    - functionName:    sudo_make_gidlist_item
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          420
      EdgeCount:       81
      CyclomaticComplexity: 18
      functionsReached:
        - __errno_location
        - calloc
        - reallocarray
        - strlen
        - sudo_debug_printf2_v1
        - sudo_getgrouplist2_v1
        - sudo_pwutil_get_max_groups
        - sudo_strtoid_v2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:257,13'
          Dst:             reallocarray
        - Src:             './pwutil_impl.c:259,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:267,29'
          Dst:             sudo_strtoid_v2
        - Src:             './pwutil_impl.c:269,7'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:280,10'
          Dst:             sudo_pwutil_get_max_groups
        - Src:             './pwutil_impl.c:282,13'
          Dst:             reallocarray
        - Src:             './pwutil_impl.c:284,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:289,10'
          Dst:             sudo_getgrouplist2_v1
        - Src:             './pwutil_impl.c:290,11'
          Dst:             sudo_pwutil_get_max_groups
        - Src:             './pwutil_impl.c:293,10'
          Dst:             sudo_getgrouplist2_v1
        - Src:             './pwutil_impl.c:294,3'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:302,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:307,13'
          Dst:             strlen
        - Src:             './pwutil_impl.c:311,19'
          Dst:             calloc
        - Src:             './pwutil_impl.c:312,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_make_gritem
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         58
      ICount:          407
      EdgeCount:       71
      CyclomaticComplexity: 15
      functionsReached:
        - __errno_location
        - calloc
        - getgrgid
        - getgrnam
        - strlen
        - sudo_debug_printf2_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:174,17'
          Dst:             getgrnam
        - Src:             './pwutil_impl.c:174,40'
          Dst:             getgrgid
        - Src:             './pwutil_impl.c:176,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:182,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:183,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:186,15'
          Dst:             strlen
        - Src:             './pwutil_impl.c:191,11'
          Dst:             strlen
        - Src:             './pwutil_impl.c:193,19'
          Dst:             calloc
        - Src:             './pwutil_impl.c:194,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:211,12'
          Dst:             strlen
        - Src:             './pwutil_impl.c:223,19'
          Dst:             strlen
    - functionName:    getgrnam
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getgrgid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_make_pwitem
      functionSourceFile: '/src/sudo/plugins/sudoers/./pwutil_impl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         70
      ICount:          448
      EdgeCount:       85
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - calloc
        - getpwnam
        - getpwuid
        - strlen
        - sudo_debug_printf2_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './pwutil_impl.c:93,17'
          Dst:             getpwnam
        - Src:             './pwutil_impl.c:93,40'
          Dst:             getpwuid
        - Src:             './pwutil_impl.c:95,2'
          Dst:             __errno_location
        - Src:             './pwutil_impl.c:105,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:106,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:110,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:111,5'
          Dst:             strlen
        - Src:             './pwutil_impl.c:113,13'
          Dst:             strlen
        - Src:             './pwutil_impl.c:116,11'
          Dst:             strlen
        - Src:             './pwutil_impl.c:119,19'
          Dst:             calloc
        - Src:             './pwutil_impl.c:120,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './pwutil_impl.c:146,19'
          Dst:             strlen
    - functionName:    getpwnam
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpwuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rbrepair
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          334
      EdgeCount:       49
      CyclomaticComplexity: 13
      functionsReached:
        - rotate_left
        - rotate_right
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:426,3'
          Dst:             rotate_left
        - Src:             './redblack.c:436,9'
          Dst:             rotate_right
        - Src:             './redblack.c:442,3'
          Dst:             rotate_left
        - Src:             './redblack.c:450,3'
          Dst:             rotate_right
        - Src:             './redblack.c:460,7'
          Dst:             rotate_left
        - Src:             './redblack.c:466,3'
          Dst:             rotate_right
    - functionName:    rotate_left
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          91
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rotate_right
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          91
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rbsuccessor
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          89
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rbdelete
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          231
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - rbrepair
        - rbsuccessor
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:381,6'
          Dst:             rbsuccessor
        - Src:             './redblack.c:393,2'
          Dst:             rbrepair
    - functionName:    rbdestroy_int
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - rbdestroy_int
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:347,2'
          Dst:             rbdestroy_int
        - Src:             './redblack.c:348,2'
          Dst:             rbdestroy_int
    - functionName:    rbdestroy
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          32
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - rbdestroy_int
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:364,5'
          Dst:             rbdestroy_int
    - functionName:    rbapply_node
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          209
      EdgeCount:       51
      CyclomaticComplexity: 11
      functionsReached:
        - rbapply_node
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:303,15'
          Dst:             rbapply_node
        - Src:             './redblack.c:308,15'
          Dst:             rbapply_node
    - functionName:    rbfind
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rbinsert
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          390
      EdgeCount:       61
      CyclomaticComplexity: 15
      functionsReached:
        - rotate_left
        - rotate_right
        - sudo_debug_printf2_v1
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:192,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './redblack.c:240,7'
          Dst:             rotate_left
        - Src:             './redblack.c:244,3'
          Dst:             rotate_right
        - Src:             './redblack.c:256,7'
          Dst:             rotate_right
        - Src:             './redblack.c:260,3'
          Dst:             rotate_left
    - functionName:    rbcreate
      functionSourceFile: '/src/sudo/plugins/sudoers/./redblack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          99
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_debug_printf2_v1
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             './redblack.c:88,2'
          Dst:             sudo_debug_printf2_v1
    - functionName:    str_list_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./strlist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          91
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - sudoers_string_free
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             './strlist.c:81,3'
          Dst:             sudoers_string_free
    - functionName:    sudoers_string_free
      functionSourceFile: '/src/sudo/plugins/sudoers/./strlist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_list_alloc
      functionSourceFile: '/src/sudo/plugins/sudoers/./strlist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_string_alloc
      functionSourceFile: '/src/sudo/plugins/sudoers/./strlist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          54
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './strlist.c:37,17'
          Dst:             strdup
    - functionName:    sudoers_debug_deregister
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          48
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - sudo_debug_deregister_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_debug.c:126,10'
          Dst:             sudo_debug_deregister_v1
    - functionName:    sudoers_debug_register
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          170
      EdgeCount:       35
      CyclomaticComplexity: 7
      functionsReached:
        - sudo_debug_register_v2
        - sudo_debug_set_active_instance_v1
      functionUses:    1
      BranchProfiles:
        - Branch String:   './sudoers_debug.c:98,5'
          Branch Sides:    []
      Callsites:
        - Src:             './sudoers_debug.c:87,17'
          Dst:             sudo_debug_register_v2
        - Src:             './sudoers_debug.c:107,2'
          Dst:             sudo_debug_set_active_instance_v1
    - functionName:    sudoers_debug_parse_flags
      functionSourceFile: '/src/sudo/plugins/sudoers/./sudoers_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_debug_parse_flags_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './sudoers_debug.c:69,12'
          Dst:             sudo_debug_parse_flags_v1
    - functionName:    parse_timeout
      functionSourceFile: '/src/sudo/plugins/sudoers/./timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          247
      EdgeCount:       59
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - strtol
        - tolower
      functionUses:    3
      BranchProfiles:
        - Branch String:   './timeout.c:75,6'
          Branch Sides:    []
      Callsites:
        - Src:             './timeout.c:52,2'
          Dst:             __errno_location
        - Src:             './timeout.c:53,6'
          Dst:             strtol
        - Src:             './timeout.c:56,6'
          Dst:             __errno_location
        - Src:             './timeout.c:59,6'
          Dst:             __errno_location
        - Src:             './timeout.c:64,11'
          Dst:             tolower
        - Src:             './timeout.c:68,7'
          Dst:             __errno_location
        - Src:             './timeout.c:102,5'
          Dst:             __errno_location
    - functionName:    strtol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tolower
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pl_compare
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 927
      functionLinenumberEnd: 931
      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:931,12'
          Dst:             strcmp
    - functionName:    read_dir_files
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 942
      functionLinenumberEnd: 1037
      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:948,27'
          Dst:             strlen
        - Src:             'toke.l:952,11'
          Dst:             opendir
        - Src:             'toke.l:954,6'
          Dst:             __errno_location
        - Src:             'toke.l:956,2'
          Dst:             sudo_warn_nodebug_v1
        - Src:             'toke.l:959,13'
          Dst:             reallocarray
        - Src:             'toke.l:962,20'
          Dst:             readdir
        - Src:             'toke.l:963,25'
          Dst:             strlen
        - Src:             'toke.l:971,50'
          Dst:             strchr
        - Src:             'toke.l:975,20'
          Dst:             strcmp
        - Src:             'toke.l:976,23'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:977,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:976,7'
          Dst:             fprintf
        - Src:             'toke.l:979,23'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:980,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:979,7'
          Dst:             fprintf
        - Src:             'toke.l:982,3'
          Dst:             fputc
        - Src:             'toke.l:987,14'
          Dst:             sudo_rcstr_alloc
        - Src:             'toke.l:989,14'
          Dst:             snprintf
        - Src:             'toke.l:990,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:990,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:991,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:994,6'
          Dst:             stat
        - Src:             'toke.l:995,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1000,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1007,12'
          Dst:             reallocarray
        - Src:             'toke.l:1009,3'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1017,5'
          Dst:             closedir
        - Src:             'toke.l:1026,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1026,40'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1026,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1028,5'
          Dst:             sudoerserror
        - Src:             'toke.l:1030,2'
          Dst:             closedir
        - Src:             'toke.l:1032,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: 1118
      functionLinenumberEnd: 1145
      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:1125,17'
          Dst:             sudo_strlcpy
    - functionName:    switch_dir
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1045
      functionLinenumberEnd: 1062
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          100
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - pl_compare
        - qsort
        - read_dir_files
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.l:1050,13'
          Dst:             read_dir_files
        - Src:             'toke.l:1053,2'
          Dst:             qsort
        - Src:             'toke.l:1053,2'
          Dst:             pl_compare
    - functionName:    expand_include
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1155
      functionLinenumberEnd: 1279
      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:1157,35'
          Dst:             strlen
        - Src:             'toke.l:1165,15'
          Dst:             strlen
        - Src:             'toke.l:1186,23'
          Dst:             strchr
        - Src:             'toke.l:1187,24'
          Dst:             strlen
        - Src:             'toke.l:1189,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1189,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1189,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1205,32'
          Dst:             strlen
        - Src:             'toke.l:1206,9'
          Dst:             sudo_rcstr_alloc
        - Src:             'toke.l:1208,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1208,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1208,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1211,6'
          Dst:             strlcpy_expand_host
        - Src:             'toke.l:1222,15'
          Dst:             sudo_strsplit_v1
        - Src:             'toke.l:1224,17'
          Dst:             memrchr
        - Src:             'toke.l:1230,33'
          Dst:             strlen
        - Src:             'toke.l:1223,11'
          Dst:             sudo_strsplit_v1
        - Src:             'toke.l:1234,18'
          Dst:             sudo_rcstr_alloc
        - Src:             'toke.l:1236,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1236,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1236,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1239,15'
          Dst:             sudo_strsplit_v1
        - Src:             'toke.l:1251,11'
          Dst:             memrchr
        - Src:             'toke.l:1261,8'
          Dst:             strlcpy_expand_host
        - Src:             'toke.l:1240,11'
          Dst:             sudo_strsplit_v1
        - Src:             'toke.l:1273,16'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1273,5'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1275,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: 1527
      functionLinenumberEnd: 1589
      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:1539,11'
          Dst:             getc
        - Src:             'toke.l:1542,2'
          Dst:             ungetc
        - Src:             'toke.l:1543,18'
          Dst:             getdelim
        - Src:             'toke.l:1547,10'
          Dst:             feof
        - Src:             'toke.l:1549,6'
          Dst:             yy_fatal_error
        - Src:             'toke.l:1553,7'
          Dst:             memchr
        - Src:             'toke.l:1563,8'
          Dst:             realloc
        - Src:             'toke.l:1565,7'
          Dst:             yy_fatal_error
        - Src:             'toke.l:1575,2'
          Dst:             sudo_debug_printf2_v1
    - 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: 5476
      functionLinenumberEnd: 5477
      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:5476,4'
          Dst:             fprintf
        - Src:             'toke.c:5477,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:    exit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    push_includedir
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1433
      functionLinenumberEnd: 1434
      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:1434,12'
          Dst:             push_include_int
    - functionName:    push_include_int
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1290
      functionLinenumberEnd: 1421
      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:1345,3'
          Branch Sides:    []
        - Branch String:   'toke.l:1372,2'
          Branch Sides:    []
      Callsites:
        - Src:             'toke.l:1296,17'
          Dst:             expand_include
        - Src:             'toke.l:1305,19'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1306,7'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1305,3'
          Dst:             fprintf
        - Src:             'toke.l:1307,3'
          Dst:             fputc
        - Src:             'toke.l:1309,6'
          Dst:             sudoerserror
        - Src:             'toke.l:1310,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1314,15'
          Dst:             reallocarray
        - Src:             'toke.l:1316,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1316,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1316,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1317,6'
          Dst:             sudoerserror
        - Src:             'toke.l:1318,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1330,7'
          Dst:             sudo_open_conf_path_v1
        - Src:             'toke.l:1333,22'
          Dst:             fstat
        - Src:             'toke.l:1338,15'
          Dst:             sudoers_file_uid
        - Src:             'toke.l:1338,15'
          Dst:             sudoers_file_gid
        - Src:             'toke.l:1338,15'
          Dst:             sudo_secure_fd_v1
        - Src:             'toke.l:1342,6'
          Dst:             close
        - Src:             'toke.l:1347,7'
          Dst:             __errno_location
        - Src:             'toke.l:1348,7'
          Dst:             sudo_warn_nodebug_v1
        - Src:             'toke.l:1351,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1353,19'
          Dst:             sudoers_file_uid
        - Src:             'toke.l:1351,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1356,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1356,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1359,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             'toke.l:1361,19'
          Dst:             sudoers_file_gid
        - Src:             'toke.l:1359,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             'toke.l:1368,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1371,10'
          Dst:             switch_dir
        - Src:             'toke.l:1376,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1382,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1383,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1393,6'
          Dst:             sudo_rcstr_addref
        - Src:             'toke.l:1394,17'
          Dst:             open_sudoers
        - Src:             'toke.l:1396,12'
          Dst:             open_sudoers
        - Src:             'toke.l:1398,6'
          Dst:             sudoerserror
        - Src:             'toke.l:1399,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1417,30'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:1417,5'
          Dst:             sudoers_switch_to_buffer
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudoers_create_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5189
      functionLinenumberEnd: 5209
      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:5192,24'
          Dst:             sudoersalloc
        - Src:             'toke.c:5194,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5201,26'
          Dst:             sudoersalloc
        - Src:             'toke.c:5203,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5207,2'
          Dst:             sudoers_init_buffer
    - functionName:    sudoers_switch_to_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5144
      functionLinenumberEnd: 5172
      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:5151,2'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.c:5164,2'
          Dst:             sudoers_load_buffer_state
    - functionName:    sudoersensure_buffer_stack
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5342
      functionLinenumberEnd: 5382
      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:5352,49'
          Dst:             sudoersalloc
        - Src:             'toke.c:5356,4'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5371,49'
          Dst:             sudoersrealloc
        - Src:             'toke.c:5376,4'
          Dst:             yy_fatal_error
    - functionName:    sudoers_load_buffer_state
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5175
      functionLinenumberEnd: 5180
      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: 5653
      functionLinenumberEnd: 5654
      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: 5658
      functionLinenumberEnd: 5667
      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:5667,9'
          Dst:             realloc
    - functionName:    sudoers_init_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5237
      functionLinenumberEnd: 5257
      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:5238,15'
          Dst:             __errno_location
        - Src:             'toke.c:5240,2'
          Dst:             sudoers_flush_buffer
        - Src:             'toke.c:5254,48'
          Dst:             fileno
        - Src:             'toke.c:5254,40'
          Dst:             isatty
        - Src:             'toke.c:5256,2'
          Dst:             __errno_location
    - functionName:    sudoers_flush_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5264
      functionLinenumberEnd: 5284
      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:5283,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: 1426
      functionLinenumberEnd: 1427
      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:1427,12'
          Dst:             push_include_int
    - functionName:    init_lexer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.l'
      linkageType:     InternalLinkage
      functionLinenumber: 1074
      functionLinenumberEnd: 1110
      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:1080,5'
          Dst:             sudo_lbuf_init_v1
        - Src:             'toke.l:1087,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1090,2'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1092,6'
          Dst:             fclose
        - Src:             'toke.l:1093,2'
          Dst:             sudoers_delete_buffer
    - functionName:    sudoers_delete_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5217
      functionLinenumberEnd: 5229
      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:5226,3'
          Dst:             sudoersfree
        - Src:             'toke.c:5228,2'
          Dst:             sudoersfree
    - functionName:    sudoersfree
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5671
      functionLinenumberEnd: 5673
      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: 5578
      functionLinenumberEnd: 5602
      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: 5607
      functionLinenumberEnd: 5624
      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:5611,3'
          Dst:             sudoers_delete_buffer
        - Src:             'toke.c:5613,3'
          Dst:             sudoerspop_buffer_state
        - Src:             'toke.c:5617,2'
          Dst:             sudoersfree
        - Src:             'toke.c:5622,5'
          Dst:             yy_init_globals
    - functionName:    sudoerspop_buffer_state
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5323
      functionLinenumberEnd: 5336
      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:5327,2'
          Dst:             sudoers_delete_buffer
        - Src:             'toke.c:5333,3'
          Dst:             sudoers_load_buffer_state
    - functionName:    sudoersset_debug
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5573
      functionLinenumberEnd: 5575
      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: 5568
      functionLinenumberEnd: 5569
      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: 5563
      functionLinenumberEnd: 5565
      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: 5558
      functionLinenumberEnd: 5560
      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: 5546
      functionLinenumberEnd: 5549
      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: 5537
      functionLinenumberEnd: 5538
      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: 5528
      functionLinenumberEnd: 5529
      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: 5520
      functionLinenumberEnd: 5521
      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: 5512
      functionLinenumberEnd: 5513
      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: 5503
      functionLinenumberEnd: 5505
      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: 5441
      functionLinenumberEnd: 5467
      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:5449,17'
          Dst:             sudoersalloc
        - Src:             'toke.c:5451,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5458,6'
          Dst:             sudoers_scan_buffer
        - Src:             'toke.c:5460,3'
          Dst:             yy_fatal_error
    - functionName:    sudoers_scan_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5391
      functionLinenumberEnd: 5417
      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:5400,24'
          Dst:             sudoersalloc
        - Src:             'toke.c:5402,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:5414,2'
          Dst:             sudoers_switch_to_buffer
    - functionName:    sudoers_scan_string
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5428
      functionLinenumberEnd: 5430
      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:5430,37'
          Dst:             strlen
        - Src:             'toke.c:5430,9'
          Dst:             sudoers_scan_bytes
    - functionName:    sudoerspush_buffer_state
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5293
      functionLinenumberEnd: 5316
      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:5297,2'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.c:5314,2'
          Dst:             sudoers_load_buffer_state
    - functionName:    sudoersrestart
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5127
      functionLinenumberEnd: 5137
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - sudoers_create_buffer
        - sudoers_init_buffer
        - sudoers_load_buffer_state
        - sudoersensure_buffer_stack
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'toke.c:5130,9'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.c:5132,13'
          Dst:             sudoers_create_buffer
        - Src:             'toke.c:5135,2'
          Dst:             sudoers_init_buffer
        - Src:             'toke.c:5136,2'
          Dst:             sudoers_load_buffer_state
    - functionName:    yy_get_next_buffer
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4848
      functionLinenumberEnd: 4981
      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:4855,3'
          Dst:             yy_fatal_error
        - Src:             'toke.c:4916,6'
          Dst:             sudoersrealloc
        - Src:             'toke.c:4924,5'
          Dst:             yy_fatal_error
        - Src:             'toke.c:4938,3'
          Dst:             sudoers_input
        - Src:             'toke.c:4949,4'
          Dst:             sudoersrestart
        - Src:             'toke.c:4966,50'
          Dst:             sudoersrealloc
        - Src:             'toke.c:4969,4'
          Dst:             yy_fatal_error
    - functionName:    yy_try_NUL_trans
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5019
      functionLinenumberEnd: 5038
      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: 4986
      functionLinenumberEnd: 5010
      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: 1444
      functionLinenumberEnd: 1490
      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:1453,2'
          Dst:             fclose
        - Src:             'toke.l:1454,5'
          Dst:             sudoers_delete_buffer
        - Src:             'toke.l:1458,7'
          Dst:             open_sudoers
        - Src:             'toke.l:1462,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1463,6'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1466,6'
          Dst:             sudo_rcstr_addref
        - Src:             'toke.l:1468,31'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:1468,6'
          Dst:             sudoers_switch_to_buffer
        - Src:             'toke.l:1473,2'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1479,2'
          Dst:             sudoers_switch_to_buffer
        - Src:             'toke.l:1482,2'
          Dst:             sudo_rcstr_delref
        - Src:             'toke.l:1484,2'
          Dst:             sudo_rcstr_delref
    - functionName:    sudoerslex
      functionSourceFile: '/src/sudo/plugins/sudoers/toke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3550
      functionLinenumberEnd: 4838
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1447
      ICount:          7811
      EdgeCount:       1749
      CyclomaticComplexity: 304
      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:3633,3'
          Branch Sides:    []
        - Branch String:   'toke.l:198,5'
          Branch Sides:    []
        - Branch String:   'toke.l:444,8'
          Branch Sides:    []
        - Branch String:   'toke.l:478,8'
          Branch Sides:    []
        - Branch String:   'toke.c:4778,8'
          Branch Sides:    []
      Callsites:
        - Src:             'toke.c:3573,4'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.c:3575,5'
          Dst:             sudoers_create_buffer
        - Src:             'toke.c:3578,3'
          Dst:             sudoers_load_buffer_state
        - Src:             'toke.l:139,13'
          Dst:             fill
        - Src:             'toke.l:175,13'
          Dst:             fill
        - Src:             'toke.l:203,6'
          Dst:             parser_leak_remove
        - Src:             'toke.l:213,6'
          Dst:             parser_leak_remove
        - Src:             'toke.l:229,13'
          Dst:             append
        - Src:             'toke.l:235,13'
          Dst:             append
        - Src:             'toke.l:245,13'
          Dst:             fill_args
        - Src:             'toke.l:254,13'
          Dst:             fill_args
        - Src:             'toke.l:262,8'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:262,8'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:271,5'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:271,5'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:275,10'
          Dst:             fill_args
        - Src:             'toke.l:287,13'
          Dst:             fill_args
        - Src:             'toke.l:294,8'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:294,8'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:303,13'
          Dst:             fill_args
        - Src:             'toke.l:307,12'
          Dst:             sudoers_strict
        - Src:             'toke.l:308,10'
          Dst:             sudo_regex_compile_v1
        - Src:             'toke.l:320,12'
          Dst:             __ctype_b_loc
        - Src:             'toke.l:327,10'
          Dst:             fill_args
        - Src:             'toke.l:336,5'
          Dst:             sudo_digest_getlen_v2
        - Src:             'toke.l:338,10'
          Dst:             fill
        - Src:             'toke.l:351,5'
          Dst:             sudo_digest_getlen_v2
        - Src:             'toke.l:360,10'
          Dst:             fill
        - Src:             'toke.l:403,8'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:403,8'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:419,8'
          Dst:             sudoersensure_buffer_stack
        - Src:             'toke.l:419,8'
          Dst:             sudoers_create_buffer
        - Src:             'toke.l:436,20'
          Dst:             __ctype_b_loc
        - Src:             'toke.l:440,12'
          Dst:             __ctype_b_loc
        - Src:             'toke.l:476,20'
          Dst:             __ctype_b_loc
        - Src:             'toke.l:587,13'
          Dst:             fill
        - Src:             'toke.l:595,13'
          Dst:             fill
        - Src:             'toke.l:602,13'
          Dst:             fill
        - Src:             'toke.l:609,13'
          Dst:             fill
        - Src:             'toke.l:616,13'
          Dst:             ipv6_valid
        - Src:             'toke.l:621,13'
          Dst:             fill
        - Src:             'toke.l:628,13'
          Dst:             ipv6_valid
        - Src:             'toke.l:633,13'
          Dst:             fill
        - Src:             'toke.l:698,13'
          Dst:             fill
        - Src:             'toke.l:707,13'
          Dst:             fill_cmnd
        - Src:             'toke.l:744,13'
          Dst:             fill_cmnd
        - Src:             'toke.l:750,10'
          Dst:             fill
        - Src:             'toke.l:760,10'
          Dst:             fill_cmnd
        - Src:             'toke.l:766,13'
          Dst:             fill_cmnd
        - Src:             'toke.l:771,12'
          Dst:             sudoers_strict
        - Src:             'toke.l:772,10'
          Dst:             sudo_regex_compile_v1
        - Src:             'toke.l:780,13'
          Dst:             fill_cmnd
        - Src:             'toke.l:794,13'
          Dst:             fill
        - Src:             'toke.l:803,13'
          Dst:             fill
        - Src:             'toke.l:853,5'
          Dst:             parser_leak_remove
        - Src:             'toke.l:885,20'
          Dst:             feof
        - Src:             'toke.l:886,31'
          Dst:             __errno_location
        - Src:             'toke.l:886,22'
          Dst:             strerror
        - Src:             'toke.l:900,13'
          Dst:             pop_include
        - Src:             'toke.l:904,1'
          Dst:             fwrite
        - Src:             'toke.c:4748,23'
          Dst:             yy_get_previous_state
        - Src:             'toke.c:4759,20'
          Dst:             yy_try_NUL_trans
        - Src:             'toke.c:4778,17'
          Dst:             yy_get_next_buffer
        - Src:             'toke.c:4813,24'
          Dst:             yy_get_previous_state
        - Src:             'toke.c:4823,24'
          Dst:             yy_get_previous_state
        - Src:             'toke.c:4833,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: 1501
      functionLinenumberEnd: 1515
      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:1504,9'
          Dst:             sudo_debug_needed_v1
        - Src:             'toke.l:1505,2'
          Dst:             sudo_lbuf_append_v1
        - Src:             'toke.l:1506,6'
          Dst:             strchr
        - Src:             'toke.l:1509,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    ipv6_valid
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          95
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fill_args
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          178
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - parser_leak_add
        - parser_leak_remove
        - realloc
        - sudo_strlcpy
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoerserror
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:182,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:197,2'
          Dst:             parser_leak_remove
        - Src:             './toke_util.c:198,6'
          Dst:             realloc
        - Src:             './toke_util.c:200,17'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:200,41'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:200,6'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:203,2'
          Dst:             parser_leak_add
        - Src:             './toke_util.c:212,9'
          Dst:             sudo_strlcpy
        - Src:             './toke_util.c:213,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:213,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:214,2'
          Dst:             parser_leak_remove
        - Src:             './toke_util.c:220,5'
          Dst:             sudoerserror
    - functionName:    fill_cmnd
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         50
      ICount:          286
      EdgeCount:       65
      CyclomaticComplexity: 17
      functionsReached:
        - parser_leak_add
        - strcmp
        - strdup
        - strrchr
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoers_strict
        - sudoerserror
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:130,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:130,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:130,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:131,2'
          Dst:             sudoerserror
        - Src:             './toke_util.c:151,13'
          Dst:             strrchr
        - Src:             './toke_util.c:152,10'
          Dst:             strcmp
        - Src:             './toke_util.c:153,7'
          Dst:             sudoers_strict
        - Src:             './toke_util.c:154,7'
          Dst:             sudoerserror
        - Src:             './toke_util.c:158,35'
          Dst:             strdup
        - Src:             './toke_util.c:159,18'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:160,4'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:159,7'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:167,5'
          Dst:             parser_leak_add
    - functionName:    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: 88
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          96
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - copy_string
        - parser_leak_add
        - parser_leak_remove
        - realloc
        - strlen
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoerserror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:95,9'
          Dst:             strlen
        - Src:             './toke_util.c:96,2'
          Dst:             parser_leak_remove
        - Src:             './toke_util.c:99,11'
          Dst:             realloc
        - Src:             './toke_util.c:104,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:104,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:104,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:105,2'
          Dst:             sudoerserror
        - Src:             './toke_util.c:108,5'
          Dst:             parser_leak_add
        - Src:             './toke_util.c:109,5'
          Dst:             copy_string
    - functionName:    copy_string
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          112
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - sudo_hexchar_v1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:51,49'
          Dst:             sudo_hexchar_v1
    - functionName:    fill
      functionSourceFile: '/src/sudo/plugins/sudoers/./toke_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - copy_string
        - parser_leak_add
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
        - sudoerserror
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             './toke_util.c:75,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:75,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './toke_util.c:75,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './toke_util.c:76,2'
          Dst:             sudoerserror
        - Src:             './toke_util.c:79,5'
          Dst:             parser_leak_add
        - Src:             './toke_util.c:80,5'
          Dst:             copy_string
    - functionName:    sudo_filedigest
      functionSourceFile: '/src/sudo/plugins/sudoers/./filedigest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          207
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - close
        - dup
        - fclose
        - fdopen
        - ferror
        - fread
        - strerror
        - sudo_debug_printf2_v1
        - sudo_digest_alloc_v1
        - sudo_digest_final_v1
        - sudo_digest_free_v1
        - sudo_digest_getlen_v2
        - sudo_digest_update_v1
        - sudo_warn_gettext_v1
        - sudo_warnx_nodebug_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './filedigest.c:43,19'
          Dst:             sudo_digest_getlen_v2
        - Src:             './filedigest.c:45,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:45,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:49,16'
          Dst:             dup
        - Src:             './filedigest.c:50,2'
          Dst:             __errno_location
        - Src:             './filedigest.c:50,2'
          Dst:             strerror
        - Src:             './filedigest.c:50,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './filedigest.c:54,15'
          Dst:             fdopen
        - Src:             './filedigest.c:55,2'
          Dst:             __errno_location
        - Src:             './filedigest.c:55,2'
          Dst:             strerror
        - Src:             './filedigest.c:55,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './filedigest.c:57,2'
          Dst:             close
        - Src:             './filedigest.c:61,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:61,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:61,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:64,16'
          Dst:             sudo_digest_alloc_v1
        - Src:             './filedigest.c:65,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:65,37'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:65,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:68,21'
          Dst:             fread
        - Src:             './filedigest.c:69,2'
          Dst:             sudo_digest_update_v1
        - Src:             './filedigest.c:71,9'
          Dst:             ferror
        - Src:             './filedigest.c:72,13'
          Dst:             sudo_warn_gettext_v1
        - Src:             './filedigest.c:72,2'
          Dst:             sudo_warnx_nodebug_v1
        - Src:             './filedigest.c:75,5'
          Dst:             sudo_digest_final_v1
        - Src:             './filedigest.c:76,5'
          Dst:             sudo_digest_free_v1
        - Src:             './filedigest.c:77,5'
          Dst:             fclose
        - Src:             './filedigest.c:81,5'
          Dst:             sudo_digest_free_v1
        - Src:             './filedigest.c:84,2'
          Dst:             fclose
    - functionName:    dup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    sudo_base64_decode_v1
      functionSourceFile: '/src/sudo/lib/util/./b64_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          182
      EdgeCount:       37
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_final_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          27
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - EVP_DigestFinal_ex
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:151,5'
          Dst:             EVP_DigestFinal_ex
    - functionName:    EVP_DigestFinal_ex
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_update_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          30
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - EVP_DigestUpdate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:141,5'
          Dst:             EVP_DigestUpdate
    - functionName:    EVP_DigestUpdate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_getlen_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sudo_digest_getlen_v2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:132,18'
          Dst:             sudo_digest_getlen_v2
    - functionName:    sudo_digest_getlen_v2
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_MD_size
        - sudo_digest_type_to_md
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:122,10'
          Dst:             sudo_digest_type_to_md
        - Src:             './digest_openssl.c:126,5'
          Dst:             EVP_MD_size
    - functionName:    sudo_digest_type_to_md
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          60
      EdgeCount:       21
      CyclomaticComplexity: 12
      functionsReached:
        - EVP_sha224
        - EVP_sha256
        - EVP_sha384
        - EVP_sha512
        - __errno_location
      functionUses:    2
      BranchProfiles:
        - Branch String:   './digest_openssl.c:44,5'
          Branch Sides:    []
      Callsites:
        - Src:             './digest_openssl.c:46,7'
          Dst:             EVP_sha224
        - Src:             './digest_openssl.c:49,7'
          Dst:             EVP_sha256
        - Src:             './digest_openssl.c:52,7'
          Dst:             EVP_sha384
        - Src:             './digest_openssl.c:55,7'
          Dst:             EVP_sha512
        - Src:             './digest_openssl.c:58,2'
          Dst:             __errno_location
    - functionName:    EVP_MD_size
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha224
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha256
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha384
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha512
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_reset_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          31
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - EVP_DigestInit_ex
        - EVP_MD_CTX_reset
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:110,5'
          Dst:             EVP_MD_CTX_reset
        - Src:             './digest_openssl.c:111,5'
          Dst:             EVP_DigestInit_ex
    - functionName:    EVP_MD_CTX_reset
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_DigestInit_ex
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_free_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          37
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_MD_CTX_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:97,2'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_MD_CTX_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_digest_alloc_v1
      functionSourceFile: '/src/sudo/lib/util/./digest_openssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          94
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - EVP_DigestInit_ex
        - EVP_MD_CTX_free
        - EVP_MD_CTX_new
        - sudo_digest_type_to_md
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './digest_openssl.c:72,10'
          Dst:             sudo_digest_type_to_md
        - Src:             './digest_openssl.c:76,13'
          Dst:             EVP_MD_CTX_new
        - Src:             './digest_openssl.c:77,27'
          Dst:             EVP_DigestInit_ex
        - Src:             './digest_openssl.c:87,5'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_MD_CTX_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_contains_dot_dot_v1
      functionSourceFile: '/src/sudo/lib/util/./dotdot.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          122
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_warn_gettext_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - dgettext
      functionUses:    174
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:332,11'
          Dst:             dgettext
    - functionName:    sudo_warn_set_locale_func_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_warn_set_conversation_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fatal_callback_deregister_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 281
      functionLinenumberEnd: 298
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          83
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fatal_callback_register_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gai_vwarn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gai_strerror
        - warning
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:174,13'
          Dst:             gai_strerror
        - Src:             './fatal.c:174,5'
          Dst:             warning
    - functionName:    gai_strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    warning
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          274
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - fputs
        - putc
        - sudo_getprogname
        - vasprintf
        - vfprintf
        - vsnprintf
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:181,29'
          Dst:             __errno_location
        - Src:             './fatal.c:194,22'
          Dst:             sudo_getprogname
        - Src:             './fatal.c:201,12'
          Dst:             vsnprintf
        - Src:             './fatal.c:205,11'
          Dst:             vasprintf
        - Src:             './fatal.c:228,15'
          Dst:             sudo_getprogname
        - Src:             './fatal.c:228,9'
          Dst:             fputs
        - Src:             './fatal.c:230,17'
          Dst:             fputs
        - Src:             './fatal.c:231,17'
          Dst:             vfprintf
        - Src:             './fatal.c:234,13'
          Dst:             fputs
        - Src:             './fatal.c:235,13'
          Dst:             fputs
        - Src:             './fatal.c:241,9'
          Dst:             putc
        - Src:             './fatal.c:249,5'
          Dst:             __errno_location
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fputs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vfprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    putc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_gai_warn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gai_strerror
        - warning
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:167,13'
          Dst:             gai_strerror
        - Src:             './fatal.c:167,5'
          Dst:             warning
    - functionName:    sudo_vwarnx_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - warning
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:138,5'
          Dst:             warning
    - functionName:    sudo_vwarn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - strerror
        - warning
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:132,22'
          Dst:             __errno_location
        - Src:             './fatal.c:132,13'
          Dst:             strerror
        - Src:             './fatal.c:132,5'
          Dst:             warning
    - functionName:    sudo_warnx_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - warning
      functionUses:    75
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:125,5'
          Dst:             warning
    - functionName:    sudo_warn_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - strerror
        - warning
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:116,22'
          Dst:             __errno_location
        - Src:             './fatal.c:116,13'
          Dst:             strerror
        - Src:             './fatal.c:116,5'
          Dst:             warning
    - functionName:    do_cleanup
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_fatalx_nodebug_v1
      functionSourceFile: '/src/sudo/lib/util/./fatal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - do_cleanup
        - exit
        - warning
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             './fatal.c:88,5'
          Dst:             warning
        - Src:             './fatal.c:90,5'
          Dst:             do_cleanup
        - Src:             './fatal.c:91,5'
          Dst:             exit
    - functionName:    sudo_host_name_max_v1
      functionSourceFile: '/src/sudo/lib/util/./gethostname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sysconf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './gethostname.c:57,9'
          Dst:             sysconf
    - functionName:    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: 33
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - gethostname
        - sudo_host_name_max_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './gethostname.c:34,34'
          Dst:             sudo_host_name_max_v1
        - Src:             './gethostname.c:37,6'
          Dst:             gethostname
    - functionName:    gethostname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_getgrouplist2_v1
      functionSourceFile: '/src/sudo/lib/util/./getgrouplist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          176
      EdgeCount:       40
      CyclomaticComplexity: 9
      functionsReached:
        - getgrouplist
        - reallocarray
        - sysconf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './getgrouplist.c:78,2'
          Dst:             getgrouplist
        - Src:             './getgrouplist.c:86,15'
          Dst:             sysconf
        - Src:             './getgrouplist.c:96,11'
          Dst:             reallocarray
        - Src:             './getgrouplist.c:100,6'
          Dst:             getgrouplist
    - functionName:    getgrouplist
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_hexchar_v1
      functionSourceFile: '/src/sudo/lib/util/./hexchar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          225
      EdgeCount:       77
      CyclomaticComplexity: 40
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './hexchar.c:37,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sudo_lbuf_clearerr_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 488
      functionLinenumberEnd: 491
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_lbuf_println
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          344
      EdgeCount:       68
      CyclomaticComplexity: 18
      functionsReached:
        - __ctype_b_loc
        - memchr
        - memrchr
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:371,27'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:376,12'
          Dst:             strlen
        - Src:             './lbuf.c:390,16'
          Dst:             memrchr
        - Src:             './lbuf.c:391,8'
          Dst:             memchr
        - Src:             './lbuf.c:419,24'
          Dst:             __ctype_b_loc
    - functionName:    sudo_lbuf_print_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 476
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          244
      EdgeCount:       48
      CyclomaticComplexity: 13
      functionsReached:
        - memchr
        - strlen
        - sudo_lbuf_println
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:447,32'
          Dst:             strlen
        - Src:             './lbuf.c:463,16'
          Dst:             memchr
        - Src:             './lbuf.c:466,3'
          Dst:             sudo_lbuf_println
    - functionName:    sudo_lbuf_append_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         69
      ICount:          496
      EdgeCount:       92
      CyclomaticComplexity: 25
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - atoi
        - strlen
        - sudo_debug_printf2_v1
        - sudo_lbuf_error_v1
        - sudo_lbuf_expand
      functionUses:    36
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:286,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './lbuf.c:291,23'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:296,13'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:303,7'
          Dst:             __errno_location
        - Src:             './lbuf.c:304,7'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lbuf.c:311,13'
          Dst:             atoi
        - Src:             './lbuf.c:320,27'
          Dst:             strlen
        - Src:             './lbuf.c:321,12'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:336,26'
          Dst:             strlen
        - Src:             './lbuf.c:337,11'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:344,7'
          Dst:             sudo_lbuf_expand
    - functionName:    sudo_lbuf_error_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atoi
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_lbuf_expand
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          184
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - realloc
        - sudo_debug_printf2_v1
        - sudo_pow2_roundup_v2
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:73,2'
          Dst:             __errno_location
        - Src:             './lbuf.c:74,2'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lbuf.c:82,20'
          Dst:             sudo_pow2_roundup_v2
        - Src:             './lbuf.c:86,6'
          Dst:             __errno_location
        - Src:             './lbuf.c:87,6'
          Dst:             sudo_debug_printf2_v1
        - Src:             './lbuf.c:94,17'
          Dst:             realloc
        - Src:             './lbuf.c:95,6'
          Dst:             sudo_debug_printf2_v1
    - functionName:    sudo_lbuf_append_quoted_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          349
      EdgeCount:       60
      CyclomaticComplexity: 16
      functionsReached:
        - strchr
        - strlen
        - strpbrk
        - sudo_lbuf_error_v1
        - sudo_lbuf_expand
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:227,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './lbuf.c:235,19'
          Dst:             strpbrk
        - Src:             './lbuf.c:237,8'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:246,23'
          Dst:             strlen
        - Src:             './lbuf.c:247,8'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:255,7'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:257,6'
          Dst:             strchr
    - functionName:    escape
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          101
      EdgeCount:       21
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './lbuf.c:118,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sudo_lbuf_append_esc_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          526
      EdgeCount:       103
      CyclomaticComplexity: 28
      functionsReached:
        - __ctype_b_loc
        - escape
        - sudo_lbuf_error_v1
        - sudo_lbuf_expand
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './lbuf.c:151,9'
          Dst:             sudo_lbuf_error_v1
        - Src:             './lbuf.c:166,7'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:166,7'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:167,12'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:169,20'
          Dst:             escape
        - Src:             './lbuf.c:173,12'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:179,8'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:186,6'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:186,6'
          Dst:             __ctype_b_loc
        - Src:             './lbuf.c:187,11'
          Dst:             sudo_lbuf_expand
        - Src:             './lbuf.c:193,16'
          Dst:             escape
        - Src:             './lbuf.c:197,7'
          Dst:             sudo_lbuf_expand
    - functionName:    sudo_lbuf_destroy_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          36
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_lbuf_init_v1
      functionSourceFile: '/src/sudo/lib/util/./lbuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          63
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_logfac2str_v1
      functionSourceFile: '/src/sudo/lib/util/./logfac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_str2logfac_v1
      functionSourceFile: '/src/sudo/lib/util/./logfac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './logfac.c:66,6'
          Dst:             strcmp
    - functionName:    sudo_login_name_max_v1
      functionSourceFile: '/src/sudo/lib/util/./login_max.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sysconf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './login_max.c:45,9'
          Dst:             sysconf
    - functionName:    sudo_logpri2str_v1
      functionSourceFile: '/src/sudo/lib/util/./logpri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_str2logpri_v1
      functionSourceFile: '/src/sudo/lib/util/./logpri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './logpri.c:61,6'
          Dst:             strcmp
    - functionName:    initprogname
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - initprogname2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './progname.c:94,5'
          Dst:             initprogname2
    - functionName:    initprogname2
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          157
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - strcmp
        - sudo_basename_v1
        - sudo_getprogname
        - sudo_setprogname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './progname.c:62,21'
          Dst:             sudo_getprogname
        - Src:             './progname.c:66,9'
          Dst:             sudo_basename_v1
        - Src:             './progname.c:80,10'
          Dst:             strcmp
        - Src:             './progname.c:87,2'
          Dst:             sudo_setprogname
    - functionName:    sudo_getprogname
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_setprogname
      functionSourceFile: '/src/sudo/lib/util/./progname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_basename_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './progname.c:51,18'
          Dst:             sudo_basename_v1
    - functionName:    sudo_rcstr_delref
      functionSourceFile: '/src/sudo/lib/util/./rcstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          55
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    27
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_rcstr_addref
      functionSourceFile: '/src/sudo/lib/util/./rcstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       8
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_rcstr_alloc
      functionSourceFile: '/src/sudo/lib/util/./rcstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          51
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_rcstr_dup
      functionSourceFile: '/src/sudo/lib/util/./rcstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - sudo_rcstr_alloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './rcstr.c:42,18'
          Dst:             strlen
        - Src:             './rcstr.c:46,11'
          Dst:             sudo_rcstr_alloc
    - functionName:    parse_num
      functionSourceFile: '/src/sudo/lib/util/./regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          153
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - __ctype_b_loc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './regex.c:50,20'
          Dst:             __ctype_b_loc
        - Src:             './regex.c:52,12'
          Dst:             __ctype_b_loc
    - functionName:    check_pattern
      functionSourceFile: '/src/sudo/lib/util/./regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         63
      ICount:          296
      EdgeCount:       77
      CyclomaticComplexity: 16
      functionsReached:
        - parse_num
      functionUses:    1
      BranchProfiles:
        - Branch String:   './regex.c:81,2'
          Branch Sides:    []
        - Branch String:   './regex.c:104,6'
          Branch Sides:    []
      Callsites:
        - Src:             './regex.c:103,11'
          Dst:             parse_num
        - Src:             './regex.c:112,8'
          Dst:             parse_num
    - functionName:    sudo_regex_compile_v1
      functionSourceFile: '/src/sudo/lib/util/./regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          208
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - check_pattern
        - regcomp
        - regerror
        - regfree
        - strdup
        - strlen
        - strncmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './regex.c:157,9'
          Dst:             strlen
        - Src:             './regex.c:164,9'
          Dst:             strncmp
        - Src:             './regex.c:166,9'
          Dst:             strdup
        - Src:             './regex.c:176,15'
          Dst:             check_pattern
        - Src:             './regex.c:178,12'
          Dst:             regcomp
        - Src:             './regex.c:181,6'
          Dst:             regfree
        - Src:             './regex.c:183,9'
          Dst:             regerror
    - functionName:    regcomp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pow2_roundup_v2
      functionSourceFile: '/src/sudo/lib/util/./roundup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_pow2_roundup_v1
      functionSourceFile: '/src/sudo/lib/util/./roundup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_open_conf_path_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          141
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - fcntl
        - open
        - strlen
        - sudo_strsplit_v1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:175,23'
          Dst:             strlen
        - Src:             './secure_path.c:176,15'
          Dst:             sudo_strsplit_v1
        - Src:             './secure_path.c:184,6'
          Dst:             __errno_location
        - Src:             './secure_path.c:191,38'
          Dst:             open
        - Src:             './secure_path.c:193,31'
          Dst:             fcntl
        - Src:             './secure_path.c:193,12'
          Dst:             fcntl
        - Src:             './secure_path.c:196,6'
          Dst:             __errno_location
        - Src:             './secure_path.c:177,19'
          Dst:             sudo_strsplit_v1
    - functionName:    sudo_secure_open_dir_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_secure_open
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:157,12'
          Dst:             sudo_secure_open
    - functionName:    sudo_secure_open
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          150
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - close
        - fcntl
        - fstat
        - open
        - sudo_check_secure
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:126,10'
          Dst:             open
        - Src:             './secure_path.c:127,21'
          Dst:             fstat
        - Src:             './secure_path.c:129,6'
          Dst:             close
        - Src:             './secure_path.c:134,14'
          Dst:             sudo_check_secure
        - Src:             './secure_path.c:136,27'
          Dst:             fcntl
        - Src:             './secure_path.c:136,8'
          Dst:             fcntl
        - Src:             './secure_path.c:139,2'
          Dst:             close
    - functionName:    sudo_check_secure
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          113
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_secure_open_file_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_secure_open
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:150,12'
          Dst:             sudo_secure_open
    - functionName:    sudo_secure_fd_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - fstat
        - sudo_check_secure
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:103,21'
          Dst:             fstat
        - Src:             './secure_path.c:104,8'
          Dst:             sudo_check_secure
    - functionName:    sudo_secure_dir_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_secure_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:90,12'
          Dst:             sudo_secure_path
    - functionName:    sudo_secure_path
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - stat
        - sudo_check_secure
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:68,25'
          Dst:             stat
        - Src:             './secure_path.c:69,8'
          Dst:             sudo_check_secure
    - functionName:    sudo_secure_file_v1
      functionSourceFile: '/src/sudo/lib/util/./secure_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_secure_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './secure_path.c:81,12'
          Dst:             sudo_secure_path
    - functionName:    sudo_strsplit_v1
      functionSourceFile: '/src/sudo/lib/util/./strsplit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          190
      EdgeCount:       47
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_strtoid_v2
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_strtoidx_v1
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './strtoid.c:102,12'
          Dst:             sudo_strtoidx_v1
    - functionName:    sudo_strtoidx_v1
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          110
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - sudo_strtonumx
        - valid_separator
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './strtoid.c:72,17'
          Dst:             sudo_strtonumx
        - Src:             './strtoid.c:78,51'
          Dst:             valid_separator
        - Src:             './strtoid.c:80,6'
          Dst:             __errno_location
    - functionName:    valid_separator
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          69
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_strtoid_v1
      functionSourceFile: '/src/sudo/lib/util/./strtoid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_strtoidx_v1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './strtoid.c:95,12'
          Dst:             sudo_strtoidx_v1
    - functionName:    sudo_strtomode_v1
      functionSourceFile: '/src/sudo/lib/util/./strtomode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sudo_strtomode_v2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './strtomode.c:65,17'
          Dst:             sudo_strtomode_v2
    - functionName:    sudo_strtomode_v2
      functionSourceFile: '/src/sudo/lib/util/./strtomode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          149
      EdgeCount:       37
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - strtol
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './strtomode.c:43,5'
          Dst:             __errno_location
        - Src:             './strtomode.c:44,12'
          Dst:             strtol
        - Src:             './strtomode.c:48,2'
          Dst:             __errno_location
        - Src:             './strtomode.c:54,2'
          Dst:             __errno_location
    - functionName:    sudo_strtonum
      functionSourceFile: '/src/sudo/lib/util/./strtonum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - sudo_strtonumx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './strtonum.c:177,11'
          Dst:             sudo_strtonumx
        - Src:             './strtonum.c:180,2'
          Dst:             __errno_location
    - functionName:    sudo_strtonumx
      functionSourceFile: '/src/sudo/lib/util/./strtonum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         92
      ICount:          487
      EdgeCount:       113
      CyclomaticComplexity: 23
      functionsReached:
        - __ctype_b_loc
        - __errno_location
      functionUses:    2
      BranchProfiles:
        - Branch String:   './strtonum.c:59,5'
          Branch Sides:    []
        - Branch String:   './strtonum.c:132,5'
          Branch Sides:    []
      Callsites:
        - Src:             './strtonum.c:58,14'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:89,11'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:96,12'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:111,11'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:118,12'
          Dst:             __ctype_b_loc
        - Src:             './strtonum.c:140,2'
          Dst:             __errno_location
        - Src:             './strtonum.c:146,2'
          Dst:             __errno_location
        - Src:             './strtonum.c:152,2'
          Dst:             __errno_location
    - functionName:    sudo_debug_get_fds_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1177
      functionLinenumberEnd: 1178
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_update_fd_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1173
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_set_active_instance_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1166
      functionLinenumberEnd: 1167
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_get_active_instance_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1160
      functionLinenumberEnd: 1161
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_execve2_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1155
      functionLinenumberEnd: 1156
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_printf2_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1149
      functionLinenumberEnd: 1150
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    82
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_vprintf2_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1136
      functionLinenumberEnd: 1137
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_needed_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1129
      functionLinenumberEnd: 1130
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_write2_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1124
      functionLinenumberEnd: 1125
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_ptr_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1118
      functionLinenumberEnd: 1119
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_str_masked_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1112
      functionLinenumberEnd: 1113
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_str_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1106
      functionLinenumberEnd: 1107
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_bool_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1100
      functionLinenumberEnd: 1101
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_mode_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1094
      functionLinenumberEnd: 1095
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_time_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1088
      functionLinenumberEnd: 1089
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_ssize_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1082
      functionLinenumberEnd: 1083
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_size_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1076
      functionLinenumberEnd: 1077
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_id_t_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1070
      functionLinenumberEnd: 1071
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_long_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1064
      functionLinenumberEnd: 1065
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_uint_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1058
      functionLinenumberEnd: 1059
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_int_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1052
      functionLinenumberEnd: 1053
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_exit_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1046
      functionLinenumberEnd: 1047
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_enter_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1040
      functionLinenumberEnd: 1041
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_fork_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1033
      functionLinenumberEnd: 1034
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fork
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             './sudo_debug.c:1034,12'
          Dst:             fork
    - functionName:    fork
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_get_instance_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1027
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_parse_flags_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1021
      functionLinenumberEnd: 1022
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_deregister_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1014
      functionLinenumberEnd: 1015
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_register_v1
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1008
      functionLinenumberEnd: 1009
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_debug_register_v2
      functionSourceFile: '/src/sudo/lib/util/./sudo_debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1001
      functionLinenumberEnd: 1002
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_strlcpy
      functionSourceFile: '/src/sudo/lib/util/./strlcpy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          98
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sudo_basename_v1
      functionSourceFile: '/src/sudo/lib/util/./basename.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strrchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './basename.c:41,17'
          Dst:             strrchr
...
