---
Fuzzer filename: '/src/selinux/libselinux/fuzz/selabel_file_compiled-fuzzer.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    write_full
      functionSourceFile: '/src/selinux/libselinux/fuzz/selabel_file_compiled-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          66
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:49,8'
          Dst:             write
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:51,8'
          Dst:             __errno_location
    - functionName:    write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __errno_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    196
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sort_specs
      functionSourceFile: '/src/selinux/libselinux/fuzz/../src/label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sort_spec_node
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libselinux/fuzz/../src/label_file.h:397,2'
          Dst:             sort_spec_node
    - functionName:    convert_data
      functionSourceFile: '/src/selinux/libselinux/fuzz/selabel_file_compiled-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          80
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - close
        - fclose
        - fdopen
        - fseek
        - memfd_create
        - write_full
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:69,7'
          Dst:             memfd_create
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:73,7'
          Dst:             write_full
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:75,3'
          Dst:             close
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:79,11'
          Dst:             fdopen
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:81,3'
          Dst:             close
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:85,7'
          Dst:             fseek
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:87,3'
          Dst:             fclose
    - functionName:    memfd_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    12
      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:    fseek
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      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:    23
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_context
      functionSourceFile: '/src/selinux/libselinux/fuzz/selabel_file_compiled-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - __errno_location
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:33,2'
          Dst:             strcmp
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:33,2'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:36,3'
          Dst:             __errno_location
    - 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:    61
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __assert_fail
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    36
      BranchProfiles:  []
      Callsites:       []
    - functionName:    null_log
      functionSourceFile: '/src/selinux/libselinux/fuzz/selabel_file_compiled-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 27
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/selinux/libselinux/fuzz/selabel_file_compiled-fuzzer.c'
      linkageType:     externalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         112
      ICount:          728
      EdgeCount:       138
      CyclomaticComplexity: 28
      functionsReached:
        - __assert_fail
        - __errno_location
        - calloc
        - cmp
        - convert_data
        - fclose
        - free_lookup_result
        - free_spec_node
        - load_mmap
        - lookup_all
        - memmem
        - munmap
        - selinux_set_callback
        - sort_specs
        - strcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:140,23'
          Dst:             memmem
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:153,8'
          Dst:             memmem
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:168,8'
          Dst:             memmem
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:201,2'
          Dst:             selinux_set_callback
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:205,2'
          Dst:             selinux_set_callback
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:209,9'
          Dst:             calloc
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:215,7'
          Dst:             convert_data
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:219,2'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:220,7'
          Dst:             load_mmap
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:222,3'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:222,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:226,2'
          Dst:             fclose
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:230,8'
          Dst:             convert_data
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:234,3'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:235,8'
          Dst:             load_mmap
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:238,4'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:238,4'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:242,3'
          Dst:             fclose
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:247,8'
          Dst:             convert_data
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:251,3'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:252,8'
          Dst:             load_mmap
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:255,4'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:255,4'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:259,3'
          Dst:             fclose
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:263,2'
          Dst:             sort_specs
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:265,2'
          Dst:             cmp
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:265,2'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:267,2'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:268,11'
          Dst:             lookup_all
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:271,3'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:271,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:274,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:275,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:276,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:277,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:278,3'
          Dst:             strcmp
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:278,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:279,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:280,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:281,3'
          Dst:             strlen
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:281,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:285,2'
          Dst:             free_lookup_result
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:287,3'
          Dst:             fclose
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:289,3'
          Dst:             free_spec_node
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:298,9'
          Dst:             munmap
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:299,4'
          Dst:             __assert_fail
    - functionName:    memmem
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    calloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    29
      BranchProfiles:  []
      Callsites:       []
    - 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:    33
      BranchProfiles:  []
      Callsites:       []
    - functionName:    munmap
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinux_get_callback
      functionSourceFile: '/src/selinux/libselinux/src/callbacks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       19
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
      functionUses:    0
      BranchProfiles:
        - Branch String:   'callbacks.c:96,2'
          Branch Sides:    []
      Callsites:
        - Src:             'callbacks.c:114,3'
          Dst:             __errno_location
    - functionName:    default_selinux_policyload
      functionSourceFile: '/src/selinux/libselinux/src/callbacks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    default_selinux_setenforce
      functionSourceFile: '/src/selinux/libselinux/src/callbacks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    default_selinux_validate
      functionSourceFile: '/src/selinux/libselinux/src/callbacks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - security_check_context
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'callbacks.c:38,9'
          Dst:             security_check_context
    - functionName:    default_selinux_audit
      functionSourceFile: '/src/selinux/libselinux/src/callbacks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    default_selinux_log
      functionSourceFile: '/src/selinux/libselinux/src/callbacks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 24
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - vfprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'callbacks.c:22,7'
          Dst:             vfprintf
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinux_set_callback
      functionSourceFile: '/src/selinux/libselinux/src/callbacks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'callbacks.c:72,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    security_check_context
      functionSourceFile: '/src/selinux/libselinux/src/check_context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - freecon
        - security_check_context_raw
        - selinux_trans_to_raw_context
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'check_context.c:39,6'
          Dst:             selinux_trans_to_raw_context
        - Src:             'check_context.c:42,8'
          Dst:             security_check_context_raw
        - Src:             'check_context.c:44,2'
          Dst:             freecon
    - functionName:    security_check_context_raw
      functionSourceFile: '/src/selinux/libselinux/src/check_context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          67
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - close
        - open64
        - snprintf
        - strlen
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'check_context.c:18,3'
          Dst:             __errno_location
        - Src:             'check_context.c:22,2'
          Dst:             snprintf
        - Src:             'check_context.c:23,7'
          Dst:             open64
        - Src:             'check_context.c:27,23'
          Dst:             strlen
        - Src:             'check_context.c:27,8'
          Dst:             write
        - Src:             'check_context.c:28,2'
          Dst:             close
    - 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:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    open64
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freecon
      functionSourceFile: '/src/selinux/libselinux/src/freecon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7
      functionLinenumberEnd: 9
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fini_lib
      functionSourceFile: '/src/selinux/libselinux/src/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fini_selinuxmnt
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init.c:122,2'
          Dst:             fini_selinuxmnt
    - functionName:    fini_selinuxmnt
      functionSourceFile: '/src/selinux/libselinux/src/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_lib
      functionSourceFile: '/src/selinux/libselinux/src/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - access
        - init_selinuxmnt
        - selinux_reset_errno
        - sysconf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init.c:107,2'
          Dst:             __errno_location
        - Src:             'init.c:108,14'
          Dst:             sysconf
        - Src:             'init.c:113,2'
          Dst:             init_selinuxmnt
        - Src:             'init.c:115,24'
          Dst:             access
        - Src:             'init.c:117,1'
          Dst:             selinux_reset_errno
    - 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:    init_selinuxmnt
      functionSourceFile: '/src/selinux/libselinux/src/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          30
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - verify_selinuxmnt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init.c:87,6'
          Dst:             verify_selinuxmnt
    - functionName:    access
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinux_reset_errno
      functionSourceFile: '/src/selinux/libselinux/src/./selinux_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './selinux_internal.h:156,2'
          Dst:             __errno_location
    - functionName:    verify_selinuxmnt
      functionSourceFile: '/src/selinux/libselinux/src/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          95
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - set_selinuxmnt
        - statfs64
        - statvfs64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init.c:37,8'
          Dst:             statfs64
        - Src:             'init.c:38,21'
          Dst:             __errno_location
        - Src:             'init.c:42,9'
          Dst:             statvfs64
        - Src:             'init.c:45,6'
          Dst:             set_selinuxmnt
    - functionName:    statfs64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    statvfs64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_selinuxmnt
      functionSourceFile: '/src/selinux/libselinux/src/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init.c:99,16'
          Dst:             strdup
    - functionName:    strdup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    49
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinuxfs_exists
      functionSourceFile: '/src/selinux/libselinux/src/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __fsetlocking
        - fclose
        - fopen64
        - getline
        - strstr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init.c:63,7'
          Dst:             fopen64
        - Src:             'init.c:66,2'
          Dst:             __fsetlocking
        - Src:             'init.c:68,8'
          Dst:             getline
        - Src:             'init.c:70,7'
          Dst:             strstr
        - Src:             'init.c:74,9'
          Dst:             getline
        - Src:             'init.c:78,2'
          Dst:             fclose
    - functionName:    fopen64
      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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __fsetlocking
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getline
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strstr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __uint32_identity
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/uintn-identity.h'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rolling_append
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1125
      functionLinenumberEnd: 1155
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - strcpy
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1133,17'
          Dst:             strlen
        - Src:             'label_file.c:1134,16'
          Dst:             strlen
        - Src:             'label_file.c:1152,2'
          Dst:             strcpy
    - functionName:    strcpy
      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:    fcontext_is_binary
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1158
      functionLinenumberEnd: 1182
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          67
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - __bswap_32
        - __uint32_identity
        - fread
        - fseek
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1162,15'
          Dst:             fread
        - Src:             'label_file.c:1164,7'
          Dst:             fseek
        - Src:             'label_file.c:1171,6'
          Dst:             __bswap_32
        - Src:             'label_file.c:1178,6'
          Dst:             __uint32_identity
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    open_file
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1188
      functionLinenumberEnd: 1265
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          217
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - fclose_errno_safe
        - fileno
        - fopen64
        - fstat64
        - rolling_append
        - snprintf
        - stat64
        - strcpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1201,7'
          Dst:             snprintf
        - Src:             'label_file.c:1203,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1209,10'
          Dst:             rolling_append
        - Src:             'label_file.c:1212,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1216,8'
          Dst:             stat64
        - Src:             'label_file.c:1222,4'
          Dst:             strcpy
        - Src:             'label_file.c:1242,4'
          Dst:             strcpy
        - Src:             'label_file.c:1247,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1251,13'
          Dst:             fopen64
        - Src:             'label_file.c:1259,12'
          Dst:             fileno
        - Src:             'label_file.c:1259,6'
          Dst:             fstat64
        - Src:             'label_file.c:1260,3'
          Dst:             fclose_errno_safe
    - functionName:    stat64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fstat64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fclose_errno_safe
      functionSourceFile: '/src/selinux/libselinux/src/./selinux_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - fclose
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './selinux_internal.h:139,16'
          Dst:             __errno_location
        - Src:             './selinux_internal.h:140,8'
          Dst:             fclose
        - Src:             './selinux_internal.h:141,2'
          Dst:             __errno_location
    - functionName:    nodups_spec_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         126
      ICount:          766
      EdgeCount:       158
      CyclomaticComplexity: 34
      functionsReached:
        - __errno_location
        - file_kind_to_string
        - nodups_spec_node
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:121,8'
          Dst:             strcmp
        - Src:             'label_file.c:134,4'
          Dst:             __errno_location
        - Src:             'label_file.c:135,8'
          Dst:             strcmp
        - Src:             'label_file.c:136,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:136,5'
          Dst:             __errno_location
        - Src:             'label_file.c:136,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:136,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:136,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:136,5'
          Dst:             __errno_location
        - Src:             'label_file.c:144,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:144,5'
          Dst:             __errno_location
        - Src:             'label_file.c:144,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:144,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:144,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:144,5'
          Dst:             __errno_location
        - Src:             'label_file.c:166,9'
          Dst:             strcmp
        - Src:             'label_file.c:179,5'
          Dst:             __errno_location
        - Src:             'label_file.c:180,9'
          Dst:             strcmp
        - Src:             'label_file.c:182,6'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:182,6'
          Dst:             __errno_location
        - Src:             'label_file.c:182,6'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:182,6'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:182,6'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:182,6'
          Dst:             __errno_location
        - Src:             'label_file.c:192,6'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:192,6'
          Dst:             __errno_location
        - Src:             'label_file.c:192,6'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:192,6'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:192,6'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:192,6'
          Dst:             __errno_location
        - Src:             'label_file.c:207,9'
          Dst:             nodups_spec_node
    - functionName:    file_kind_to_string
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       20
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    18
      BranchProfiles:
        - Branch String:   './label_file.h:214,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    pthread_mutex_lock
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    100
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_unlock
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    114
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sort_specs
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sort_spec_node
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './label_file.h:397,2'
          Dst:             sort_spec_node
    - functionName:    sort_spec_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          201
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - compare_literal_spec
        - compare_spec_node
        - qsort
        - sort_spec_node
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:79,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:81,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:84,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:95,3'
          Dst:             qsort
        - Src:             'label_file.c:95,3'
          Dst:             compare_literal_spec
        - Src:             'label_file.c:99,3'
          Dst:             qsort
        - Src:             'label_file.c:99,3'
          Dst:             compare_spec_node
        - Src:             'label_file.c:103,3'
          Dst:             sort_spec_node
    - functionName:    compare_literal_spec
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          73
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './label_file.h:374,8'
          Dst:             strcmp
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    compare_spec_node
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './label_file.h:389,7'
          Dst:             strcmp
        - Src:             './label_file.h:391,2'
          Dst:             __assert_fail
    - functionName:    process_file
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1270
      functionLinenumberEnd: 1318
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          207
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - digest_add_specfile
        - fclose_errno_safe
        - fcontext_is_binary
        - load_mmap
        - open_file
        - process_text_file
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1283,8'
          Dst:             open_file
        - Src:             'label_file.c:1288,8'
          Dst:             fcontext_is_binary
        - Src:             'label_file.c:1290,4'
          Dst:             fclose_errno_safe
        - Src:             'label_file.c:1295,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1295,4'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:1295,4'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:1295,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1299,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1301,9'
          Dst:             load_mmap
        - Src:             'label_file.c:1304,9'
          Dst:             process_text_file
        - Src:             'label_file.c:1309,9'
          Dst:             digest_add_specfile
        - Src:             'label_file.c:1312,3'
          Dst:             fclose_errno_safe
    - functionName:    load_mmap
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 904
      functionLinenumberEnd: 1117
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         155
      ICount:          824
      EdgeCount:       202
      CyclomaticComplexity: 49
      functionsReached:
        - __bswap_32
        - __bswap_64
        - __errno_location
        - calloc
        - entry_size_check
        - fileno
        - free_context_array
        - free_spec_node
        - load_mmap_ctxarray
        - load_mmap_spec_node
        - madvise
        - merge_mmap_spec_nodes
        - mmap64
        - munmap
        - next_entry
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - regex_arch_string
        - regex_version
        - strcmp
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:920,49'
          Dst:             fileno
        - Src:             'label_file.c:920,9'
          Dst:             mmap64
        - Src:             'label_file.c:924,7'
          Dst:             madvise
        - Src:             'label_file.c:926,3'
          Dst:             __errno_location
        - Src:             'label_file.c:926,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:926,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:926,3'
          Dst:             __errno_location
        - Src:             'label_file.c:939,7'
          Dst:             next_entry
        - Src:             'label_file.c:940,16'
          Dst:             __bswap_32
        - Src:             'label_file.c:944,7'
          Dst:             next_entry
        - Src:             'label_file.c:946,6'
          Dst:             __bswap_32
        - Src:             'label_file.c:947,3'
          Dst:             __bswap_32
        - Src:             'label_file.c:947,3'
          Dst:             __errno_location
        - Src:             'label_file.c:947,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:947,3'
          Dst:             __bswap_32
        - Src:             'label_file.c:947,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:947,3'
          Dst:             __errno_location
        - Src:             'label_file.c:955,16'
          Dst:             regex_version
        - Src:             'label_file.c:959,13'
          Dst:             regex_arch_string
        - Src:             'label_file.c:963,7'
          Dst:             next_entry
        - Src:             'label_file.c:966,17'
          Dst:             __bswap_32
        - Src:             'label_file.c:969,6'
          Dst:             strlen
        - Src:             'label_file.c:974,8'
          Dst:             next_entry
        - Src:             'label_file.c:980,6'
          Dst:             entry_size_check
        - Src:             'label_file.c:987,7'
          Dst:             next_entry
        - Src:             'label_file.c:994,6'
          Dst:             strcmp
        - Src:             'label_file.c:995,3'
          Dst:             __errno_location
        - Src:             'label_file.c:995,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:995,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:995,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1007,7'
          Dst:             next_entry
        - Src:             'label_file.c:1010,18'
          Dst:             __bswap_32
        - Src:             'label_file.c:1013,6'
          Dst:             strlen
        - Src:             'label_file.c:1018,8'
          Dst:             next_entry
        - Src:             'label_file.c:1024,6'
          Dst:             entry_size_check
        - Src:             'label_file.c:1031,7'
          Dst:             next_entry
        - Src:             'label_file.c:1038,6'
          Dst:             strcmp
        - Src:             'label_file.c:1039,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1039,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:1039,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:1039,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1052,7'
          Dst:             next_entry
        - Src:             'label_file.c:1055,14'
          Dst:             __bswap_64
        - Src:             'label_file.c:1060,7'
          Dst:             load_mmap_ctxarray
        - Src:             'label_file.c:1064,9'
          Dst:             calloc
        - Src:             'label_file.c:1068,7'
          Dst:             load_mmap_spec_node
        - Src:             'label_file.c:1083,3'
          Dst:             free_spec_node
        - Src:             'label_file.c:1088,8'
          Dst:             merge_mmap_spec_nodes
        - Src:             'label_file.c:1092,3'
          Dst:             free_spec_node
        - Src:             'label_file.c:1100,2'
          Dst:             free_context_array
        - Src:             'label_file.c:1105,2'
          Dst:             free_context_array
        - Src:             'label_file.c:1107,3'
          Dst:             free_spec_node
        - Src:             'label_file.c:1113,3'
          Dst:             munmap
        - Src:             'label_file.c:1114,6'
          Dst:             __errno_location
        - Src:             'label_file.c:1115,3'
          Dst:             __errno_location
    - functionName:    process_text_file
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - getline
        - process_line
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:225,18'
          Dst:             getline
        - Src:             'label_file.c:226,8'
          Dst:             process_line
    - functionName:    process_line
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 900
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         102
      ICount:          458
      EdgeCount:       126
      CyclomaticComplexity: 26
      functionsReached:
        - __errno_location
        - insert_spec
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - read_spec_entries
        - strchr
        - string_to_file_kind
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './label_file.h:839,7'
          Dst:             strchr
        - Src:             './label_file.h:840,4'
          Dst:             __errno_location
        - Src:             './label_file.h:845,10'
          Dst:             read_spec_entries
        - Src:             './label_file.h:849,4'
          Dst:             __errno_location
        - Src:             './label_file.h:849,4'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:849,4'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:849,4'
          Dst:             __errno_location
        - Src:             './label_file.h:853,4'
          Dst:             __errno_location
        - Src:             './label_file.h:853,4'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:853,4'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:853,4'
          Dst:             __errno_location
        - Src:             './label_file.h:867,3'
          Dst:             __errno_location
        - Src:             './label_file.h:867,3'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:867,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:867,3'
          Dst:             __errno_location
        - Src:             './label_file.h:871,3'
          Dst:             __errno_location
        - Src:             './label_file.h:882,15'
          Dst:             string_to_file_kind
        - Src:             './label_file.h:885,4'
          Dst:             __errno_location
        - Src:             './label_file.h:885,4'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:885,4'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:885,4'
          Dst:             __errno_location
        - Src:             './label_file.h:891,4'
          Dst:             __errno_location
        - Src:             './label_file.h:898,9'
          Dst:             insert_spec
    - functionName:    strchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    string_to_file_kind
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          90
      EdgeCount:       18
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './label_file.h:192,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    insert_spec
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 807
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         196
      ICount:          1463
      EdgeCount:       258
      CyclomaticComplexity: 64
      functionsReached:
        - __assert_fail
        - __errno_location
        - compat_validate
        - compile_regex
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - reallocarray
        - regex_has_meta_chars
        - regex_simplify
        - strchr
        - strcmp
        - strlen
        - strncmp
        - strndup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './label_file.h:536,3'
          Dst:             __errno_location
        - Src:             './label_file.h:540,13'
          Dst:             regex_has_meta_chars
        - Src:             './label_file.h:543,2'
          Dst:             __assert_fail
        - Src:             './label_file.h:557,8'
          Dst:             strchr
        - Src:             './label_file.h:568,9'
          Dst:             regex_simplify
        - Src:             './label_file.h:578,15'
          Dst:             strlen
        - Src:             './label_file.h:585,8'
          Dst:             strcmp
        - Src:             './label_file.h:595,9'
          Dst:             strncmp
        - Src:             './label_file.h:604,10'
          Dst:             __errno_location
        - Src:             './label_file.h:604,10'
          Dst:             reallocarray
        - Src:             './label_file.h:627,8'
          Dst:             __errno_location
        - Src:             './label_file.h:627,8'
          Dst:             reallocarray
        - Src:             './label_file.h:657,8'
          Dst:             compile_regex
        - Src:             './label_file.h:659,5'
          Dst:             __errno_location
        - Src:             './label_file.h:659,5'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:659,5'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:659,5'
          Dst:             __errno_location
        - Src:             './label_file.h:666,8'
          Dst:             strcmp
        - Src:             './label_file.h:667,10'
          Dst:             compat_validate
        - Src:             './label_file.h:681,30'
          Dst:             strlen
        - Src:             './label_file.h:681,8'
          Dst:             regex_simplify
        - Src:             './label_file.h:685,5'
          Dst:             __errno_location
        - Src:             './label_file.h:685,5'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:685,5'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:685,5'
          Dst:             __errno_location
        - Src:             './label_file.h:689,5'
          Dst:             __errno_location
        - Src:             './label_file.h:707,8'
          Dst:             strchr
        - Src:             './label_file.h:719,4'
          Dst:             __assert_fail
        - Src:             './label_file.h:722,8'
          Dst:             strncmp
        - Src:             './label_file.h:732,9'
          Dst:             strncmp
        - Src:             './label_file.h:741,10'
          Dst:             __errno_location
        - Src:             './label_file.h:741,10'
          Dst:             reallocarray
        - Src:             './label_file.h:749,12'
          Dst:             strndup
        - Src:             './label_file.h:770,8'
          Dst:             __errno_location
        - Src:             './label_file.h:770,8'
          Dst:             reallocarray
        - Src:             './label_file.h:780,3'
          Dst:             strlen
        - Src:             './label_file.h:780,3'
          Dst:             __assert_fail
        - Src:             './label_file.h:798,26'
          Dst:             strcmp
        - Src:             './label_file.h:799,9'
          Dst:             compat_validate
    - functionName:    regex_has_meta_chars
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          186
      EdgeCount:       78
      CyclomaticComplexity: 40
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './label_file.h:246,3'
          Branch Sides:    []
        - Branch String:   './label_file.h:264,4'
          Branch Sides:    []
      Callsites:       []
    - functionName:    regex_simplify
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         64
      ICount:          306
      EdgeCount:       68
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:
        - Branch String:   './label_file.h:307,3'
          Branch Sides:    []
        - Branch String:   './label_file.h:333,4'
          Branch Sides:    []
      Callsites:
        - Src:             './label_file.h:326,5'
          Dst:             __errno_location
        - Src:             './label_file.h:326,5'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:326,5'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:326,5'
          Dst:             __errno_location
    - 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:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reallocarray
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    compile_regex
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          264
      EdgeCount:       62
      CyclomaticComplexity: 15
      functionsReached:
        - __errno_location
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - regex_format_error
        - regex_prepare_data
        - snprintf
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './label_file.h:411,3'
          Dst:             __errno_location
        - Src:             './label_file.h:433,2'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:445,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:451,8'
          Dst:             strlen
        - Src:             './label_file.h:455,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:456,3'
          Dst:             snprintf
        - Src:             './label_file.h:458,3'
          Dst:             __errno_location
        - Src:             './label_file.h:463,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:464,3'
          Dst:             snprintf
        - Src:             './label_file.h:476,7'
          Dst:             regex_prepare_data
        - Src:             './label_file.h:479,3'
          Dst:             regex_format_error
        - Src:             './label_file.h:480,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:481,3'
          Dst:             __errno_location
        - Src:             './label_file.h:493,2'
          Dst:             pthread_mutex_unlock
    - 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:    mmap64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - int
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    madvise
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    next_entry
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          57
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    29
      BranchProfiles:  []
      Callsites:       []
    - functionName:    entry_size_check
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 456
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          36
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_64
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          37
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_mmap_ctxarray
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          261
      EdgeCount:       61
      CyclomaticComplexity: 17
      functionsReached:
        - __bswap_16
        - __bswap_32
        - __errno_location
        - calloc
        - entry_size_check
        - next_entry
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:485,7'
          Dst:             next_entry
        - Src:             'label_file.c:488,10'
          Dst:             __bswap_32
        - Src:             'label_file.c:490,6'
          Dst:             entry_size_check
        - Src:             'label_file.c:493,22'
          Dst:             calloc
        - Src:             'label_file.c:506,8'
          Dst:             next_entry
        - Src:             'label_file.c:509,13'
          Dst:             __bswap_16
        - Src:             'label_file.c:514,7'
          Dst:             entry_size_check
        - Src:             'label_file.c:521,8'
          Dst:             next_entry
        - Src:             'label_file.c:528,21'
          Dst:             strcmp
        - Src:             'label_file.c:530,5'
          Dst:             __errno_location
        - Src:             'label_file.c:530,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:530,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:530,5'
          Dst:             __errno_location
    - functionName:    load_mmap_spec_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 899
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - bool
        - bool
        - 'N/A'
        - int
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         87
      ICount:          586
      EdgeCount:       122
      CyclomaticComplexity: 37
      functionsReached:
        - __bswap_16
        - __bswap_32
        - calloc
        - entry_size_check
        - load_mmap_literal_spec
        - load_mmap_regex_spec
        - load_mmap_spec_node
        - next_entry
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:761,7'
          Dst:             next_entry
        - Src:             'label_file.c:764,13'
          Dst:             __bswap_16
        - Src:             'label_file.c:774,7'
          Dst:             next_entry
        - Src:             'label_file.c:786,7'
          Dst:             next_entry
        - Src:             'label_file.c:789,14'
          Dst:             __bswap_32
        - Src:             'label_file.c:795,7'
          Dst:             entry_size_check
        - Src:             'label_file.c:801,4'
          Dst:             calloc
        - Src:             'label_file.c:809,9'
          Dst:             load_mmap_literal_spec
        - Src:             'label_file.c:821,7'
          Dst:             next_entry
        - Src:             'label_file.c:824,14'
          Dst:             __bswap_32
        - Src:             'label_file.c:830,7'
          Dst:             entry_size_check
        - Src:             'label_file.c:836,4'
          Dst:             calloc
        - Src:             'label_file.c:844,9'
          Dst:             load_mmap_regex_spec
        - Src:             'label_file.c:856,7'
          Dst:             next_entry
        - Src:             'label_file.c:859,17'
          Dst:             __bswap_32
        - Src:             'label_file.c:867,7'
          Dst:             entry_size_check
        - Src:             'label_file.c:871,20'
          Dst:             calloc
        - Src:             'label_file.c:879,9'
          Dst:             load_mmap_spec_node
        - Src:             'label_file.c:888,8'
          Dst:             strcmp
    - functionName:    free_spec_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          220
      EdgeCount:       46
      CyclomaticComplexity: 11
      functionsReached:
        - free_spec_node
        - pthread_mutex_destroy
        - regex_data_free
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:42,3'
          Dst:             pthread_mutex_destroy
        - Src:             'label_file.c:57,3'
          Dst:             pthread_mutex_destroy
        - Src:             'label_file.c:58,3'
          Dst:             regex_data_free
        - Src:             'label_file.c:59,3'
          Dst:             pthread_mutex_destroy
        - Src:             'label_file.c:69,3'
          Dst:             free_spec_node
    - functionName:    merge_mmap_spec_nodes
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         101
      ICount:          817
      EdgeCount:       129
      CyclomaticComplexity: 30
      functionsReached:
        - __assert_fail
        - calloc
        - compare_spec_node
        - free_spec_node
        - merge_mmap_spec_nodes
        - qsort
        - reallocarray
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:241,2'
          Dst:             strcmp
        - Src:             'label_file.c:241,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:245,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:260,13'
          Dst:             reallocarray
        - Src:             'label_file.c:282,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:305,13'
          Dst:             reallocarray
        - Src:             'label_file.c:327,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:353,19'
          Dst:             calloc
        - Src:             'label_file.c:359,4'
          Dst:             qsort
        - Src:             'label_file.c:359,4'
          Dst:             compare_spec_node
        - Src:             'label_file.c:372,9'
          Dst:             strcmp
        - Src:             'label_file.c:377,11'
          Dst:             merge_mmap_spec_nodes
        - Src:             'label_file.c:386,6'
          Dst:             free_spec_node
        - Src:             'label_file.c:402,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:403,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:434,4'
          Dst:             __assert_fail
    - functionName:    free_context_array
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 472
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_destroy
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_mmap_literal_spec
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 633
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - bool
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          329
      EdgeCount:       65
      CyclomaticComplexity: 21
      functionsReached:
        - __bswap_16
        - __bswap_32
        - next_entry
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:561,7'
          Dst:             next_entry
        - Src:             'label_file.c:564,11'
          Dst:             __bswap_32
        - Src:             'label_file.c:569,22'
          Dst:             strdup
        - Src:             'label_file.c:580,7'
          Dst:             next_entry
        - Src:             'label_file.c:583,14'
          Dst:             __bswap_16
        - Src:             'label_file.c:589,7'
          Dst:             next_entry
        - Src:             'label_file.c:600,7'
          Dst:             next_entry
        - Src:             'label_file.c:603,15'
          Dst:             __bswap_16
        - Src:             'label_file.c:609,7'
          Dst:             next_entry
        - Src:             'label_file.c:619,26'
          Dst:             strlen
        - Src:             'label_file.c:625,7'
          Dst:             next_entry
    - functionName:    load_mmap_regex_spec
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 639
      functionLinenumberEnd: 733
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - bool
        - bool
        - bool
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          341
      EdgeCount:       71
      CyclomaticComplexity: 22
      functionsReached:
        - __bswap_16
        - __bswap_32
        - next_entry
        - pthread_mutex_init
        - regex_load_mmap
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:652,7'
          Dst:             next_entry
        - Src:             'label_file.c:655,11'
          Dst:             __bswap_32
        - Src:             'label_file.c:660,22'
          Dst:             strdup
        - Src:             'label_file.c:671,7'
          Dst:             next_entry
        - Src:             'label_file.c:674,11'
          Dst:             __bswap_32
        - Src:             'label_file.c:684,7'
          Dst:             next_entry
        - Src:             'label_file.c:687,14'
          Dst:             __bswap_16
        - Src:             'label_file.c:693,7'
          Dst:             next_entry
        - Src:             'label_file.c:704,7'
          Dst:             next_entry
        - Src:             'label_file.c:707,22'
          Dst:             __bswap_16
        - Src:             'label_file.c:709,26'
          Dst:             strlen
        - Src:             'label_file.c:715,7'
          Dst:             next_entry
        - Src:             'label_file.c:725,7'
          Dst:             regex_load_mmap
        - Src:             'label_file.c:730,2'
          Dst:             pthread_mutex_init
    - functionName:    pthread_mutex_init
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_subs_init
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1366
      functionLinenumberEnd: 1481
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          556
      EdgeCount:       104
      CyclomaticComplexity: 29
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - digest_add_specfile
        - fclose
        - fclose_errno_safe
        - fgets_unlocked
        - fileno
        - fopen64
        - fstat64
        - reallocarray
        - strdup
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1379,8'
          Dst:             fopen64
        - Src:             'label_file.c:1382,11'
          Dst:             __errno_location
        - Src:             'label_file.c:1385,9'
          Dst:             fgets_unlocked
        - Src:             'label_file.c:1391,18'
          Dst:             __ctype_b_loc
        - Src:             'label_file.c:1396,19'
          Dst:             __ctype_b_loc
        - Src:             'label_file.c:1404,18'
          Dst:             __ctype_b_loc
        - Src:             'label_file.c:1407,19'
          Dst:             __ctype_b_loc
        - Src:             'label_file.c:1413,10'
          Dst:             strlen
        - Src:             'label_file.c:1415,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1419,10'
          Dst:             strlen
        - Src:             'label_file.c:1421,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1425,13'
          Dst:             strdup
        - Src:             'label_file.c:1429,13'
          Dst:             strdup
        - Src:             'label_file.c:1433,8'
          Dst:             __errno_location
        - Src:             'label_file.c:1433,8'
          Dst:             reallocarray
        - Src:             'label_file.c:1447,13'
          Dst:             fileno
        - Src:             'label_file.c:1447,7'
          Dst:             fstat64
        - Src:             'label_file.c:1451,6'
          Dst:             digest_add_specfile
        - Src:             'label_file.c:1467,2'
          Dst:             fclose
        - Src:             'label_file.c:1479,2'
          Dst:             fclose_errno_safe
    - functionName:    fgets_unlocked
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __ctype_b_loc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    19
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lookup_common
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2327
      functionLinenumberEnd: 2328
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lookup_all
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2328,9'
          Dst:             lookup_all
    - functionName:    lookup_all
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2217
      functionLinenumberEnd: 2320
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - bool
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          412
      EdgeCount:       76
      CyclomaticComplexity: 22
      functionsReached:
        - __errno_location
        - all_node_specs
        - lookup_check_node
        - lookup_find_deepest_node
        - mode_to_file_kind
        - selabel_sub_key
        - strcpy
        - strlen
        - strncmp
        - strstr
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2222,22'
          Dst:             mode_to_file_kind
        - Src:             'label_file.c:2229,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2234,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2239,6'
          Dst:             strstr
        - Src:             'label_file.c:2240,30'
          Dst:             strlen
        - Src:             'label_file.c:2249,17'
          Dst:             strstr
        - Src:             'label_file.c:2251,3'
          Dst:             strcpy
        - Src:             'label_file.c:2256,8'
          Dst:             strlen
        - Src:             'label_file.c:2258,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2277,8'
          Dst:             selabel_sub_key
        - Src:             'label_file.c:2281,9'
          Dst:             lookup_find_deepest_node
        - Src:             'label_file.c:2283,11'
          Dst:             lookup_check_node
        - Src:             'label_file.c:2297,39'
          Dst:             strlen
        - Src:             'label_file.c:2297,8'
          Dst:             strncmp
        - Src:             'label_file.c:2301,8'
          Dst:             all_node_specs
    - functionName:    mode_to_file_kind
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2186
      functionLinenumberEnd: 2208
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          60
      EdgeCount:       22
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'label_file.c:2189,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    selabel_sub_key
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1486
      functionLinenumberEnd: 1502
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - selabel_apply_subs
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1489,8'
          Dst:             selabel_apply_subs
        - Src:             'label_file.c:1492,13'
          Dst:             strlen
        - Src:             'label_file.c:1491,10'
          Dst:             selabel_apply_subs
        - Src:             'label_file.c:1498,9'
          Dst:             selabel_apply_subs
    - functionName:    lookup_find_deepest_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2142
      functionLinenumberEnd: 2182
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          113
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - search_child_node
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2158,7'
          Dst:             strchr
        - Src:             'label_file.c:2171,11'
          Dst:             search_child_node
    - functionName:    lookup_check_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1908
      functionLinenumberEnd: 2103
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - bool
        - bool
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         131
      ICount:          770
      EdgeCount:       174
      CyclomaticComplexity: 45
      functionsReached:
        - __assert_fail
        - __errno_location
        - compile_regex
        - free_lookup_result
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - regex_match
        - search_literal_spec
        - strcmp
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1914,19'
          Dst:             strlen
        - Src:             'label_file.c:1916,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:1920,27'
          Dst:             search_literal_spec
        - Src:             'label_file.c:1942,11'
          Dst:             strcmp
        - Src:             'label_file.c:1944,8'
          Dst:             __errno_location
        - Src:             'label_file.c:1984,9'
          Dst:             strncmp
        - Src:             'label_file.c:1987,9'
          Dst:             strcmp
        - Src:             'label_file.c:2010,8'
          Dst:             compile_regex
        - Src:             'label_file.c:2012,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2012,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2012,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2012,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2019,9'
          Dst:             regex_match
        - Src:             'label_file.c:2034,9'
          Dst:             strcmp
        - Src:             'label_file.c:2036,6'
          Dst:             __errno_location
        - Src:             'label_file.c:2081,4'
          Dst:             __errno_location
        - Src:             'label_file.c:2093,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2100,2'
          Dst:             free_lookup_result
    - functionName:    all_node_specs
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1782
      functionLinenumberEnd: 1885
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          447
      EdgeCount:       91
      CyclomaticComplexity: 25
      functionsReached:
        - __assert_fail
        - all_node_specs
        - free_lookup_result
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1786,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:1797,7'
          Dst:             strcmp
        - Src:             'label_file.c:1833,7'
          Dst:             strcmp
        - Src:             'label_file.c:1864,7'
          Dst:             all_node_specs
        - Src:             'label_file.c:1882,2'
          Dst:             free_lookup_result
    - functionName:    free_lookup_result
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1758
      functionLinenumberEnd: 1766
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    search_literal_spec
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1708
      functionLinenumberEnd: 1755
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          181
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - strcmp
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1722,8'
          Dst:             strncmp
        - Src:             'label_file.c:1724,8'
          Dst:             strcmp
        - Src:             'label_file.c:1730,10'
          Dst:             strncmp
        - Src:             'label_file.c:1733,10'
          Dst:             strcmp
    - functionName:    search_child_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2108
      functionLinenumberEnd: 2137
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          128
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2121,7'
          Dst:             strncmp
    - functionName:    selabel_apply_subs
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1332
      functionLinenumberEnd: 1360
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          192
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - strcmp
        - strncmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1339,7'
          Dst:             strncmp
        - Src:             'label_file.c:1342,10'
          Dst:             strcmp
    - functionName:    spec_node_stats
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2496
      functionLinenumberEnd: 2539
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         55
      ICount:          297
      EdgeCount:       66
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - file_kind_to_string
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - spec_node_stats
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2510,4'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2510,4'
          Dst:             __errno_location
        - Src:             'label_file.c:2510,4'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2510,4'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2510,4'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2510,4'
          Dst:             __errno_location
        - Src:             'label_file.c:2529,4'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2529,4'
          Dst:             __errno_location
        - Src:             'label_file.c:2529,4'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2529,4'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2529,4'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2529,4'
          Dst:             __errno_location
        - Src:             'label_file.c:2538,3'
          Dst:             spec_node_stats
    - functionName:    selabel_subs_fini
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1321
      functionLinenumberEnd: 1328
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rspec_incomp
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2574
      functionLinenumberEnd: 2582
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - file_kind_to_string
        - fmt_stem
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2575,2'
          Dst:             __errno_location
        - Src:             'label_file.c:2575,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2575,2'
          Dst:             fmt_stem
        - Src:             'label_file.c:2575,2'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2575,2'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2575,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2575,2'
          Dst:             __errno_location
    - functionName:    fmt_stem
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2549
      functionLinenumberEnd: 2550
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          18
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lspec_incomp
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2558
      functionLinenumberEnd: 2566
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - file_kind_to_string
        - fmt_stem
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2559,2'
          Dst:             __errno_location
        - Src:             'label_file.c:2559,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2559,2'
          Dst:             fmt_stem
        - Src:             'label_file.c:2559,2'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2559,2'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2559,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2559,2'
          Dst:             __errno_location
    - functionName:    init
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1511
      functionLinenumberEnd: 1675
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         90
      ICount:          627
      EdgeCount:       117
      CyclomaticComplexity: 29
      functionsReached:
        - __errno_location
        - asprintf
        - calloc
        - closef
        - digest_gen_hash
        - nodups_spec_node
        - process_file
        - selabel_subs_init
        - selinux_file_context_path
        - selinux_file_context_subs_dist_path
        - selinux_file_context_subs_path
        - snprintf
        - sort_specs
        - strdup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'label_file.c:1526,3'
          Branch Sides:    []
      Callsites:
        - Src:             'label_file.c:1520,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1545,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1571,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1576,20'
          Dst:             calloc
        - Src:             'label_file.c:1585,26'
          Dst:             strdup
        - Src:             'label_file.c:1597,31'
          Dst:             selinux_file_context_path
        - Src:             'label_file.c:1597,24'
          Dst:             strdup
        - Src:             'label_file.c:1601,4'
          Dst:             selinux_file_context_subs_dist_path
        - Src:             'label_file.c:1600,12'
          Dst:             selabel_subs_init
        - Src:             'label_file.c:1606,30'
          Dst:             selinux_file_context_subs_path
        - Src:             'label_file.c:1606,12'
          Dst:             selabel_subs_init
        - Src:             'label_file.c:1612,3'
          Dst:             snprintf
        - Src:             'label_file.c:1614,12'
          Dst:             selabel_subs_init
        - Src:             'label_file.c:1620,3'
          Dst:             snprintf
        - Src:             'label_file.c:1622,12'
          Dst:             selabel_subs_init
        - Src:             'label_file.c:1630,7'
          Dst:             asprintf
        - Src:             'label_file.c:1641,12'
          Dst:             process_file
        - Src:             'label_file.c:1651,12'
          Dst:             process_file
        - Src:             'label_file.c:1654,17'
          Dst:             __errno_location
        - Src:             'label_file.c:1658,2'
          Dst:             sort_specs
        - Src:             'label_file.c:1661,12'
          Dst:             nodups_spec_node
        - Src:             'label_file.c:1666,2'
          Dst:             digest_gen_hash
        - Src:             'label_file.c:1672,3'
          Dst:             closef
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    closef
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1681
      functionLinenumberEnd: 1703
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          85
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - free_spec_node
        - munmap
        - selabel_subs_fini
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1688,2'
          Dst:             selabel_subs_fini
        - Src:             'label_file.c:1689,2'
          Dst:             selabel_subs_fini
        - Src:             'label_file.c:1691,2'
          Dst:             free_spec_node
        - Src:             'label_file.c:1696,3'
          Dst:             munmap
    - functionName:    lookup_best_match
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2440
      functionLinenumberEnd: 2493
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          260
      EdgeCount:       52
      CyclomaticComplexity: 14
      functionsReached:
        - __errno_location
        - calloc
        - free_lookup_result
        - lookup
        - lookup_common
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2447,10'
          Dst:             lookup
        - Src:             'label_file.c:2452,12'
          Dst:             calloc
        - Src:             'label_file.c:2455,15'
          Dst:             lookup_common
        - Src:             'label_file.c:2467,4'
          Dst:             lookup_common
        - Src:             'label_file.c:2485,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2490,3'
          Dst:             free_lookup_result
    - functionName:    lookup
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2419
      functionLinenumberEnd: 2427
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lookup_common
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2422,11'
          Dst:             lookup_common
    - functionName:    hash_all_partial_matches
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2387
      functionLinenumberEnd: 2415
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          102
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - Sha1Finalise
        - Sha1Initialise
        - Sha1Update
        - __assert_fail
        - free_lookup_result
        - lookup_all
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2388,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:2391,3'
          Dst:             lookup_all
        - Src:             'label_file.c:2397,2'
          Dst:             Sha1Initialise
        - Src:             'label_file.c:2404,35'
          Dst:             strlen
        - Src:             'label_file.c:2404,3'
          Dst:             Sha1Update
        - Src:             'label_file.c:2405,3'
          Dst:             Sha1Update
        - Src:             'label_file.c:2406,33'
          Dst:             strlen
        - Src:             'label_file.c:2406,3'
          Dst:             Sha1Update
        - Src:             'label_file.c:2410,2'
          Dst:             Sha1Finalise
        - Src:             'label_file.c:2413,2'
          Dst:             free_lookup_result
    - functionName:    get_digests_all_partial_matches
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2341
      functionLinenumberEnd: 2383
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          172
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - calloc
        - getxattr
        - memcmp
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - selabel_hash_all_partial_matches
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2343,22'
          Dst:             getxattr
        - Src:             'label_file.c:2352,3'
          Dst:             selabel_hash_all_partial_matches
        - Src:             'label_file.c:2359,19'
          Dst:             calloc
        - Src:             'label_file.c:2367,24'
          Dst:             calloc
        - Src:             'label_file.c:2375,6'
          Dst:             memcmp
        - Src:             'label_file.c:2381,2'
          Dst:             __errno_location
        - Src:             'label_file.c:2381,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2381,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2381,2'
          Dst:             __errno_location
    - functionName:    getxattr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    partial_match
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2430
      functionLinenumberEnd: 2433
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lookup_common
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2433,11'
          Dst:             lookup_common
    - functionName:    stats
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2542
      functionLinenumberEnd: 2546
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - spec_node_stats
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2545,2'
          Dst:             spec_node_stats
    - functionName:    selabel_file_init
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2939
      functionLinenumberEnd: 2967
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          84
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2943,9'
          Dst:             calloc
        - Src:             'label_file.c:2947,9'
          Dst:             calloc
        - Src:             'label_file.c:2966,9'
          Dst:             init
    - functionName:    cmp
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2919
      functionLinenumberEnd: 2935
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          91
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - spec_node_cmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:2923,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:2934,9'
          Dst:             spec_node_cmp
    - functionName:    spec_node_cmp
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2587
      functionLinenumberEnd: 2915
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         336
      ICount:          1640
      EdgeCount:       426
      CyclomaticComplexity: 92
      functionsReached:
        - __assert_fail
        - __errno_location
        - file_kind_to_string
        - fmt_stem
        - lspec_incomp
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - rspec_incomp
        - spec_node_cmp
        - strcmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   'label_file.c:2854,4'
          Branch Sides:    []
      Callsites:
        - Src:             'label_file.c:2591,7'
          Dst:             strcmp
        - Src:             'label_file.c:2594,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2594,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2594,3'
          Dst:             fmt_stem
        - Src:             'label_file.c:2594,3'
          Dst:             fmt_stem
        - Src:             'label_file.c:2594,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2594,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2611,10'
          Dst:             strcmp
        - Src:             'label_file.c:2621,12'
          Dst:             lspec_incomp
        - Src:             'label_file.c:2634,12'
          Dst:             lspec_incomp
        - Src:             'label_file.c:2649,12'
          Dst:             lspec_incomp
        - Src:             'label_file.c:2661,12'
          Dst:             lspec_incomp
        - Src:             'label_file.c:2673,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2673,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2673,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2673,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2673,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2685,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2685,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2685,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2685,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2685,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2706,8'
          Dst:             strcmp
        - Src:             'label_file.c:2722,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:2732,9'
          Dst:             strcmp
        - Src:             'label_file.c:2751,9'
          Dst:             strcmp
        - Src:             'label_file.c:2764,11'
          Dst:             rspec_incomp
        - Src:             'label_file.c:2775,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2775,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2775,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2775,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2775,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2775,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2793,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2793,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2793,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2793,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2793,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2793,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2817,10'
          Dst:             strcmp
        - Src:             'label_file.c:2826,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2826,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2826,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2826,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2826,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2841,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2841,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2841,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2841,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2841,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2853,19'
          Dst:             spec_node_cmp
        - Src:             'label_file.c:2861,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2861,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2861,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2861,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2861,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2874,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2874,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2874,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2874,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2874,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2881,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2881,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2881,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2881,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2881,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2893,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2893,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2893,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2893,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2893,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2905,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2905,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2905,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2905,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2905,5'
          Dst:             __errno_location
    - functionName:    digest_add_specfile
      functionSourceFile: '/src/selinux/libselinux/src/label_support.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          186
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - fread
        - fseek
        - realloc
        - strdup
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'label_support.c:182,3'
          Dst:             __errno_location
        - Src:             'label_support.c:187,12'
          Dst:             realloc
        - Src:             'label_support.c:194,7'
          Dst:             fseek
        - Src:             'label_support.c:197,7'
          Dst:             fread
        - Src:             'label_support.c:207,3'
          Dst:             __errno_location
        - Src:             'label_support.c:210,48'
          Dst:             strdup
    - functionName:    realloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    digest_gen_hash
      functionSourceFile: '/src/selinux/libselinux/src/label_support.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          69
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Sha1Finalise
        - Sha1Initialise
        - Sha1Update
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'label_support.c:143,2'
          Dst:             Sha1Initialise
        - Src:             'label_support.c:149,3'
          Dst:             Sha1Update
        - Src:             'label_support.c:153,2'
          Dst:             Sha1Update
        - Src:             'label_support.c:155,2'
          Dst:             Sha1Finalise
    - functionName:    read_spec_entry
      functionSourceFile: '/src/selinux/libselinux/src/label_support.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          171
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - strndup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_support.c:32,9'
          Dst:             __ctype_b_loc
        - Src:             'label_support.c:38,10'
          Dst:             __ctype_b_loc
        - Src:             'label_support.c:40,4'
          Dst:             __errno_location
        - Src:             'label_support.c:50,4'
          Dst:             __errno_location
        - Src:             'label_support.c:55,12'
          Dst:             strndup
    - functionName:    read_spec_entries
      functionSourceFile: '/src/selinux/libselinux/src/label_support.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          215
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - read_spec_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_support.c:86,3'
          Dst:             __errno_location
        - Src:             'label_support.c:99,9'
          Dst:             __ctype_b_loc
        - Src:             'label_support.c:119,8'
          Dst:             read_spec_entry
    - functionName:    matchpathcon_lib_destructor
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          37
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - pthread_key_delete
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:400,3'
          Dst:             pthread_key_delete
    - functionName:    pthread_key_delete
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    matchpathcon_thread_destructor
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - matchpathcon_fini_internal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:392,2'
          Dst:             matchpathcon_fini_internal
    - functionName:    matchpathcon_fini_internal
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - free_array_elts
        - selabel_close
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:382,2'
          Dst:             free_array_elts
        - Src:             'matchpathcon.c:385,3'
          Dst:             selabel_close
    - functionName:    free_array_elts
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinux_lsetfilecon_default
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 610
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          89
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - freecon
        - lsetfilecon_raw
        - lstat64
        - matchpathcon_init_prefix
        - selabel_lookup_raw
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:614,6'
          Dst:             lstat64
        - Src:             'matchpathcon.c:617,15'
          Dst:             matchpathcon_init_prefix
        - Src:             'matchpathcon.c:622,6'
          Dst:             selabel_lookup_raw
        - Src:             'matchpathcon.c:623,7'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:626,8'
          Dst:             lsetfilecon_raw
        - Src:             'matchpathcon.c:627,3'
          Dst:             freecon
    - functionName:    lstat64
      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:    matchpathcon_init_prefix
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 426
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          96
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - matchpathcon_init_once
        - pthread_once
        - pthread_setspecific
        - selabel_open
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:415,2'
          Dst:             pthread_once
        - Src:             'matchpathcon.c:415,2'
          Dst:             matchpathcon_init_once
        - Src:             'matchpathcon.c:415,2'
          Dst:             matchpathcon_init_once
        - Src:             'matchpathcon.c:416,2'
          Dst:             pthread_setspecific
        - Src:             'matchpathcon.c:425,8'
          Dst:             selabel_open
    - functionName:    default_canoncon
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          76
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - security_canonicalize_context_raw
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:156,6'
          Dst:             security_canonicalize_context_raw
        - Src:             'matchpathcon.c:157,7'
          Dst:             __errno_location
    - functionName:    pthread_once
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    matchpathcon_init_once
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 408
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          35
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - matchpathcon_thread_destructor
        - pthread_key_create
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:405,6'
          Dst:             pthread_key_create
        - Src:             'matchpathcon.c:405,6'
          Dst:             matchpathcon_thread_destructor
    - functionName:    pthread_setspecific
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_key_create
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    default_printf
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 19
      functionLinenumberEnd: 24
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - vfprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:22,2'
          Dst:             vfprintf
    - functionName:    selinux_file_context_verify
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 607
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          155
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - freecon
        - lgetfilecon_raw
        - matchpathcon_init_prefix
        - realpath
        - realpath_not_final
        - selabel_lookup_raw
        - selinux_file_context_cmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:568,8'
          Dst:             realpath_not_final
        - Src:             'matchpathcon.c:571,7'
          Dst:             realpath
        - Src:             'matchpathcon.c:576,7'
          Dst:             lgetfilecon_raw
        - Src:             'matchpathcon.c:578,7'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:584,15'
          Dst:             matchpathcon_init_prefix
        - Src:             'matchpathcon.c:585,3'
          Dst:             freecon
        - Src:             'matchpathcon.c:589,6'
          Dst:             selabel_lookup_raw
        - Src:             'matchpathcon.c:590,7'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:600,3'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:601,9'
          Dst:             selinux_file_context_cmp
        - Src:             'matchpathcon.c:604,2'
          Dst:             freecon
        - Src:             'matchpathcon.c:605,2'
          Dst:             freecon
    - functionName:    realpath_not_final
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          136
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - realpath
        - strcpy
        - strdup
        - strlen
        - strrchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:452,13'
          Dst:             strdup
        - Src:             'matchpathcon.c:459,19'
          Dst:             strrchr
        - Src:             'matchpathcon.c:463,7'
          Dst:             strcpy
        - Src:             'matchpathcon.c:467,7'
          Dst:             realpath
        - Src:             'matchpathcon.c:470,7'
          Dst:             realpath
        - Src:             'matchpathcon.c:479,8'
          Dst:             strlen
        - Src:             'matchpathcon.c:480,12'
          Dst:             strlen
        - Src:             'matchpathcon.c:483,3'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:489,2'
          Dst:             strcpy
        - Src:             'matchpathcon.c:491,2'
          Dst:             strcpy
    - functionName:    realpath
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinux_file_context_cmp
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 557
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          103
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - strchr
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:548,11'
          Dst:             strchr
        - Src:             'matchpathcon.c:549,11'
          Dst:             strchr
        - Src:             'matchpathcon.c:556,9'
          Dst:             strcmp
    - 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:    matchpathcon_checkmatches
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 535
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - selabel_stats
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:534,2'
          Dst:             selabel_stats
    - functionName:    add_array_elt
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          128
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - free_array_elts
        - reallocarray
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:122,5'
          Dst:             free_array_elts
        - Src:             'matchpathcon.c:125,19'
          Dst:             reallocarray
        - Src:             'matchpathcon.c:128,5'
          Dst:             free_array_elts
        - Src:             'matchpathcon.c:142,30'
          Dst:             strdup
    - functionName:    matchpathcon_index
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 530
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - add_array_elt
        - matchpathcon_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:524,10'
          Dst:             matchpathcon_internal
        - Src:             'matchpathcon.c:529,9'
          Dst:             add_array_elt
    - functionName:    matchpathcon_internal
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 515
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          111
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - matchpathcon_init_prefix
        - realpath
        - realpath_not_final
        - selabel_lookup
        - selabel_lookup_raw
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:501,15'
          Dst:             matchpathcon_init_prefix
        - Src:             'matchpathcon.c:505,8'
          Dst:             realpath_not_final
        - Src:             'matchpathcon.c:508,7'
          Dst:             realpath
        - Src:             'matchpathcon.c:513,19'
          Dst:             selabel_lookup_raw
        - Src:             'matchpathcon.c:514,5'
          Dst:             selabel_lookup
    - functionName:    matchpathcon
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 519
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - matchpathcon_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:519,9'
          Dst:             matchpathcon_internal
    - functionName:    matchpathcon_fini
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - matchpathcon_fini_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:436,2'
          Dst:             matchpathcon_fini_internal
    - functionName:    matchpathcon_init
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 431
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - matchpathcon_init_prefix
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:431,9'
          Dst:             matchpathcon_init_prefix
    - functionName:    matchpathcon_filespec_destroy
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - free_array_elts
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:361,2'
          Dst:             free_array_elts
    - functionName:    matchpathcon_filespec_eval
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          112
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    matchpathcon_filespec_add
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          307
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - __errno_location
        - calloc
        - lstat64
        - strcmp
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:231,3'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:236,13'
          Dst:             calloc
        - Src:             'matchpathcon.c:245,10'
          Dst:             lstat64
        - Src:             'matchpathcon.c:249,16'
          Dst:             strdup
        - Src:             'matchpathcon.c:255,9'
          Dst:             strcmp
        - Src:             'matchpathcon.c:263,15'
          Dst:             strdup
        - Src:             'matchpathcon.c:278,13'
          Dst:             strdup
    - functionName:    set_matchpathcon_flags
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          54
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_matchpathcon_canoncon
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 177
      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:    set_matchpathcon_invalidcon
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 151
      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:    compat_validate
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         78
      ICount:          342
      EdgeCount:       96
      CyclomaticComplexity: 20
      functionsReached:
        - __errno_location
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - selabel_validate
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:52,3'
          Dst:             pthread_mutex_lock
        - Src:             'matchpathcon.c:56,4'
          Dst:             pthread_mutex_unlock
        - Src:             'matchpathcon.c:68,3'
          Dst:             pthread_mutex_unlock
        - Src:             'matchpathcon.c:70,8'
          Dst:             selabel_validate
        - Src:             'matchpathcon.c:73,5'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:73,5'
          Dst:             pthread_mutex_lock
        - Src:             'matchpathcon.c:73,5'
          Dst:             pthread_mutex_unlock
        - Src:             'matchpathcon.c:73,5'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:78,5'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:78,5'
          Dst:             pthread_mutex_lock
        - Src:             'matchpathcon.c:78,5'
          Dst:             pthread_mutex_unlock
        - Src:             'matchpathcon.c:78,5'
          Dst:             __errno_location
    - functionName:    set_matchpathcon_printf
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    match_data_key_destroy
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          38
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - pthread_key_delete
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:253,3'
          Dst:             pthread_key_delete
    - functionName:    match_data_thread_free
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pcre2_match_data_free_8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:231,2'
          Dst:             pcre2_match_data_free_8
    - functionName:    pcre2_match_data_free_8
      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:    regex_format_error
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 695
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          245
      EdgeCount:       49
      CyclomaticComplexity: 10
      functionsReached:
        - abort
        - pcre2_get_error_message_8
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'regex.c:678,2'
          Branch Sides:    []
      Callsites:
        - Src:             'regex.c:608,7'
          Dst:             snprintf
        - Src:             'regex.c:614,3'
          Dst:             abort
        - Src:             'regex.c:623,8'
          Dst:             snprintf
        - Src:             'regex.c:625,4'
          Dst:             abort
        - Src:             'regex.c:645,8'
          Dst:             snprintf
        - Src:             'regex.c:652,4'
          Dst:             abort
        - Src:             'regex.c:659,7'
          Dst:             pcre2_get_error_message_8
    - functionName:    abort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pcre2_get_error_message_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_cmp
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          81
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - memcmp
        - pcre2_pattern_info_8
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:332,7'
          Dst:             pcre2_pattern_info_8
        - Src:             'regex.c:333,2'
          Dst:             __assert_fail
        - Src:             'regex.c:334,7'
          Dst:             pcre2_pattern_info_8
        - Src:             'regex.c:335,2'
          Dst:             __assert_fail
        - Src:             'regex.c:336,22'
          Dst:             memcmp
    - functionName:    pcre2_pattern_info_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    match_data_key_init
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - match_data_thread_free
        - pcre2_match_context_create_8
        - pcre2_set_match_limit_8
        - pthread_key_create
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:238,6'
          Dst:             pthread_key_create
        - Src:             'regex.c:238,6'
          Dst:             match_data_thread_free
        - Src:             'regex.c:243,9'
          Dst:             pcre2_match_context_create_8
        - Src:             'regex.c:245,3'
          Dst:             pcre2_set_match_limit_8
    - functionName:    pcre2_match_context_create_8
      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:    pcre2_set_match_limit_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_match
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 317
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          206
      EdgeCount:       58
      CyclomaticComplexity: 13
      functionsReached:
        - match_data_key_init
        - pcre2_match_8
        - pcre2_match_data_create_8
        - pcre2_match_data_create_from_pattern_8
        - pcre2_match_data_free_8
        - pthread_getspecific
        - pthread_once
        - pthread_setspecific
      functionUses:    1
      BranchProfiles:
        - Branch String:   'regex.c:308,2'
          Branch Sides:    []
      Callsites:
        - Src:             'regex.c:273,2'
          Dst:             pthread_once
        - Src:             'regex.c:273,2'
          Dst:             match_data_key_init
        - Src:             'regex.c:273,2'
          Dst:             match_data_key_init
        - Src:             'regex.c:276,16'
          Dst:             pthread_getspecific
        - Src:             'regex.c:278,17'
          Dst:             pcre2_match_data_create_8
        - Src:             'regex.c:280,5'
          Dst:             pthread_setspecific
        - Src:             'regex.c:288,16'
          Dst:             pcre2_match_data_create_from_pattern_8
        - Src:             'regex.c:298,7'
          Dst:             pcre2_match_8
        - Src:             'regex.c:304,3'
          Dst:             pcre2_match_data_free_8
    - functionName:    pthread_getspecific
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pcre2_match_data_create_8
      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:    pcre2_match_data_create_from_pattern_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pcre2_match_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_writef
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          123
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - __bswap_32
        - fwrite
        - pcre2_serialize_encode_8
        - pcre2_serialize_free_8
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:198,8'
          Dst:             pcre2_serialize_encode_8
        - Src:             'regex.c:208,13'
          Dst:             __bswap_32
        - Src:             'regex.c:209,8'
          Dst:             fwrite
        - Src:             'regex.c:217,9'
          Dst:             fwrite
        - Src:             'regex.c:224,3'
          Dst:             pcre2_serialize_free_8
    - functionName:    pcre2_serialize_encode_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pcre2_serialize_free_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    next_entry
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          57
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_load_mmap
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          159
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - __bswap_32
        - next_entry
        - pcre2_jit_compile_8
        - pcre2_serialize_decode_8
        - pcre2_serialize_get_number_of_codes_8
        - regex_data_create
        - regex_data_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:140,7'
          Dst:             next_entry
        - Src:             'regex.c:144,14'
          Dst:             __bswap_32
        - Src:             'regex.c:154,8'
          Dst:             pcre2_serialize_get_number_of_codes_8
        - Src:             'regex.c:158,12'
          Dst:             regex_data_create
        - Src:             'regex.c:162,8'
          Dst:             pcre2_serialize_decode_8
        - Src:             'regex.c:169,10'
          Dst:             pcre2_jit_compile_8
        - Src:             'regex.c:176,7'
          Dst:             next_entry
        - Src:             'regex.c:182,2'
          Dst:             regex_data_free
    - functionName:    pcre2_serialize_get_number_of_codes_8
      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:    regex_data_create
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:345,24'
          Dst:             calloc
    - functionName:    pcre2_serialize_decode_8
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pcre2_jit_compile_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_data_free
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - pcre2_code_free_8
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:262,4'
          Dst:             pcre2_code_free_8
    - functionName:    pcre2_code_free_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_version
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - pcre2_config_8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:125,15'
          Dst:             pcre2_config_8
        - Src:             'regex.c:129,2'
          Dst:             pcre2_config_8
    - functionName:    pcre2_config_8
      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:    regex_prepare_data
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - pcre2_compile_8
        - pcre2_jit_compile_8
        - regex_data_create
        - regex_data_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:94,11'
          Dst:             regex_data_create
        - Src:             'regex.c:98,20'
          Dst:             pcre2_compile_8
        - Src:             'regex.c:112,9'
          Dst:             pcre2_jit_compile_8
        - Src:             'regex.c:117,2'
          Dst:             regex_data_free
    - functionName:    pcre2_compile_8
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_arch_string_init
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:69,7'
          Dst:             snprintf
    - functionName:    regex_arch_string
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          44
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - pthread_once
        - regex_arch_string_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:80,2'
          Dst:             pthread_once
        - Src:             'regex.c:80,2'
          Dst:             regex_arch_string_init
        - Src:             'regex.c:80,2'
          Dst:             regex_arch_string_init
    - functionName:    fini_selinux_policyroot
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinux_sepgsql_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 488
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:488,9'
          Dst:             get_path
    - functionName:    get_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          44
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - init_selinux_config
        - pthread_once
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:261,2'
          Dst:             pthread_once
        - Src:             'selinux_config.c:261,2'
          Dst:             init_selinux_config
        - Src:             'selinux_config.c:261,2'
          Dst:             init_selinux_config
    - functionName:    init_selinux_config
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         70
      ICount:          394
      EdgeCount:       94
      CyclomaticComplexity: 26
      functionsReached:
        - __ctype_b_loc
        - __fsetlocking
        - asprintf
        - atoi
        - fclose
        - fopen64
        - getline
        - setpolicytype
        - strdup
        - strlen
        - strncasecmp
        - strncmp
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:163,7'
          Dst:             fopen64
        - Src:             'selinux_config.c:165,3'
          Dst:             __fsetlocking
        - Src:             'selinux_config.c:166,17'
          Dst:             getline
        - Src:             'selinux_config.c:170,11'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:175,9'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:178,12'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:180,12'
          Dst:             strdup
        - Src:             'selinux_config.c:183,6'
          Dst:             fclose
        - Src:             'selinux_config.c:186,18'
          Dst:             strlen
        - Src:             'selinux_config.c:188,13'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:189,6'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:193,9'
          Dst:             setpolicytype
        - Src:             'selinux_config.c:196,6'
          Dst:             fclose
        - Src:             'selinux_config.c:201,16'
          Dst:             strncmp
        - Src:             'selinux_config.c:204,12'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:211,8'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:212,15'
          Dst:             atoi
        - Src:             'selinux_config.c:213,14'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:216,14'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:221,3'
          Dst:             fclose
        - Src:             'selinux_config.c:224,29'
          Dst:             setpolicytype
        - Src:             'selinux_config.c:227,6'
          Dst:             asprintf
        - Src:             'selinux_config.c:232,7'
          Dst:             asprintf
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setpolicytype
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:146,23'
          Dst:             strdup
    - 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:    selinux_file_context_subs_dist_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 483
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:483,9'
          Dst:             get_path
    - functionName:    selinux_file_context_subs_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:478,9'
          Dst:             get_path
    - functionName:    selinux_booleans_subs_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:473,9'
          Dst:             get_path
    - functionName:    selinux_systemd_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 468
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:468,9'
          Dst:             get_path
    - functionName:    selinux_snapperd_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 463
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:463,9'
          Dst:             get_path
    - functionName:    selinux_openssh_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:458,9'
          Dst:             get_path
    - functionName:    selinux_openrc_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 453
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:453,9'
          Dst:             get_path
    - functionName:    selinux_lxc_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:448,9'
          Dst:             get_path
    - functionName:    selinux_virtual_image_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:443,9'
          Dst:             get_path
    - functionName:    selinux_virtual_domain_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 438
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:438,9'
          Dst:             get_path
    - functionName:    selinux_x_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:433,9'
          Dst:             get_path
    - functionName:    selinux_file_context_local_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 428
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:428,9'
          Dst:             get_path
    - functionName:    selinux_file_context_homedir_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 422
      functionLinenumberEnd: 423
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:423,9'
          Dst:             get_path
    - functionName:    selinux_netfilter_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 417
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:418,9'
          Dst:             get_path
    - functionName:    selinux_colors_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 412
      functionLinenumberEnd: 413
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:413,9'
          Dst:             get_path
    - functionName:    selinux_translations_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 408
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:408,9'
          Dst:             get_path
    - functionName:    selinux_usersconf_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 403
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:403,9'
          Dst:             get_path
    - functionName:    selinux_users_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:398,9'
          Dst:             get_path
    - functionName:    selinux_booleans_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:392,9'
          Dst:             get_path
    - functionName:    selinux_user_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:386,9'
          Dst:             get_path
    - functionName:    selinux_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:381,9'
          Dst:             get_path
    - functionName:    selinux_customizable_types_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:376,9'
          Dst:             get_path
    - functionName:    selinux_media_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 370
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:371,9'
          Dst:             get_path
    - functionName:    selinux_homedir_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:366,9'
          Dst:             get_path
    - functionName:    selinux_file_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 361
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:361,9'
          Dst:             get_path
    - functionName:    selinux_current_policy_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 357
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          84
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - access
        - security_policyvers
        - selinux_binary_policy_path
        - snprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:341,3'
          Dst:             snprintf
        - Src:             'selinux_config.c:343,7'
          Dst:             access
        - Src:             'selinux_config.c:347,9'
          Dst:             security_policyvers
        - Src:             'selinux_config.c:351,5'
          Dst:             selinux_binary_policy_path
        - Src:             'selinux_config.c:350,3'
          Dst:             snprintf
        - Src:             'selinux_config.c:352,17'
          Dst:             access
    - functionName:    selinux_binary_policy_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:331,9'
          Dst:             get_path
    - functionName:    selinux_removable_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 326
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:326,9'
          Dst:             get_path
    - functionName:    selinux_failsafe_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 321
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:321,9'
          Dst:             get_path
    - functionName:    selinux_securetty_types_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:316,9'
          Dst:             get_path
    - functionName:    selinux_default_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:311,9'
          Dst:             get_path
    - functionName:    selinux_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 305
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinux_set_policy_root
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          94
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - asprintf
        - fini_selinux_policyroot
        - setpolicytype
        - strdup
        - strrchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:279,28'
          Dst:             strrchr
        - Src:             'selinux_config.c:281,3'
          Dst:             __errno_location
        - Src:             'selinux_config.c:286,2'
          Dst:             fini_selinux_policyroot
        - Src:             'selinux_config.c:288,23'
          Dst:             strdup
        - Src:             'selinux_config.c:292,6'
          Dst:             setpolicytype
        - Src:             'selinux_config.c:296,7'
          Dst:             asprintf
    - functionName:    selinux_policy_root
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          39
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - init_selinux_config
        - pthread_once
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:272,2'
          Dst:             pthread_once
        - Src:             'selinux_config.c:272,2'
          Dst:             init_selinux_config
        - Src:             'selinux_config.c:272,2'
          Dst:             init_selinux_config
    - functionName:    selinux_default_type_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_path
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:267,9'
          Dst:             get_path
    - functionName:    selinux_reset_config
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fini_selinux_policyroot
        - init_selinux_config
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:255,2'
          Dst:             fini_selinux_policyroot
        - Src:             'selinux_config.c:256,2'
          Dst:             init_selinux_config
    - functionName:    selinux_getpolicytype
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          61
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - init_selinux_config
        - pthread_once
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:136,2'
          Dst:             pthread_once
        - Src:             'selinux_config.c:136,2'
          Dst:             init_selinux_config
        - Src:             'selinux_config.c:136,2'
          Dst:             init_selinux_config
        - Src:             'selinux_config.c:139,10'
          Dst:             strdup
    - functionName:    selinux_getenforcemode
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          137
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - __ctype_b_loc
        - fclose
        - fgets_unlocked
        - fopen64
        - strncasecmp
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:89,14'
          Dst:             fopen64
        - Src:             'selinux_config.c:95,3'
          Dst:             fclose
        - Src:             'selinux_config.c:101,9'
          Dst:             fgets_unlocked
        - Src:             'selinux_config.c:102,7'
          Dst:             strncmp
        - Src:             'selinux_config.c:106,10'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:109,8'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:113,15'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:118,15'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:126,2'
          Dst:             fclose
    - functionName:    setrans_lib_destructor
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          45
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - pthread_key_delete
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:306,3'
          Dst:             pthread_key_delete
    - functionName:    receive_response
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          234
      EdgeCount:       56
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - calloc
        - readv
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:152,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:163,19'
          Dst:             readv
        - Src:             'setrans_client.c:163,52'
          Dst:             __errno_location
        - Src:             'setrans_client.c:170,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:175,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:180,9'
          Dst:             calloc
        - Src:             'setrans_client.c:187,19'
          Dst:             readv
        - Src:             'setrans_client.c:187,54'
          Dst:             __errno_location
        - Src:             'setrans_client.c:193,4'
          Dst:             __errno_location
    - functionName:    readv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    send_request
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          190
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - sendmsg
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:97,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:106,15'
          Dst:             strlen
        - Src:             'setrans_client.c:107,15'
          Dst:             strlen
        - Src:             'setrans_client.c:127,19'
          Dst:             sendmsg
        - Src:             'setrans_client.c:128,10'
          Dst:             __errno_location
        - Src:             'setrans_client.c:133,3'
          Dst:             __errno_location
    - functionName:    sendmsg
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setransd_open
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          110
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - close
        - connect
        - fcntl64
        - socket
        - strlcpy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:53,7'
          Dst:             socket
        - Src:             'setrans_client.c:54,16'
          Dst:             __errno_location
        - Src:             'setrans_client.c:57,8'
          Dst:             socket
        - Src:             'setrans_client.c:59,8'
          Dst:             fcntl64
        - Src:             'setrans_client.c:60,5'
          Dst:             close
        - Src:             'setrans_client.c:70,6'
          Dst:             strlcpy
        - Src:             'setrans_client.c:72,3'
          Dst:             close
        - Src:             'setrans_client.c:73,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:77,6'
          Dst:             connect
        - Src:             'setrans_client.c:78,3'
          Dst:             close
    - functionName:    socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcntl64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    connect
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setrans_thread_destructor
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    raw_context_to_color
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 287
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          83
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - close
        - receive_response
        - send_request
        - setransd_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:267,7'
          Dst:             setransd_open
        - Src:             'setrans_client.c:271,8'
          Dst:             send_request
        - Src:             'setrans_client.c:275,8'
          Dst:             receive_response
        - Src:             'setrans_client.c:285,2'
          Dst:             close
    - functionName:    selinux_raw_context_to_color
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          165
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - init_context_translations
        - init_thread_destructor
        - pthread_once
        - raw_context_to_color
        - strcmp
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:416,2'
          Dst:             pthread_once
        - Src:             'setrans_client.c:416,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:416,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:417,2'
          Dst:             init_thread_destructor
        - Src:             'setrans_client.c:420,13'
          Dst:             strdup
        - Src:             'setrans_client.c:424,22'
          Dst:             strcmp
        - Src:             'setrans_client.c:425,13'
          Dst:             strdup
        - Src:             'setrans_client.c:431,7'
          Dst:             raw_context_to_color
        - Src:             'setrans_client.c:434,19'
          Dst:             strdup
        - Src:             'setrans_client.c:437,21'
          Dst:             strdup
    - functionName:    init_context_translations
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          49
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - access
        - pthread_key_create
        - setrans_thread_destructor
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:323,17'
          Dst:             access
        - Src:             'setrans_client.c:326,6'
          Dst:             pthread_key_create
        - Src:             'setrans_client.c:326,6'
          Dst:             setrans_thread_destructor
    - functionName:    init_thread_destructor
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          49
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - pthread_setspecific
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:314,3'
          Dst:             pthread_setspecific
    - functionName:    raw_to_trans_context
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          83
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - close
        - receive_response
        - send_request
        - setransd_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:208,7'
          Dst:             setransd_open
        - Src:             'setrans_client.c:212,8'
          Dst:             send_request
        - Src:             'setrans_client.c:216,8'
          Dst:             receive_response
        - Src:             'setrans_client.c:226,2'
          Dst:             close
    - functionName:    selinux_raw_to_trans_context
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          172
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - init_context_translations
        - init_thread_destructor
        - pthread_once
        - raw_to_trans_context
        - strcmp
        - strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:377,2'
          Dst:             pthread_once
        - Src:             'setrans_client.c:377,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:377,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:378,2'
          Dst:             init_thread_destructor
        - Src:             'setrans_client.c:381,13'
          Dst:             strdup
        - Src:             'setrans_client.c:385,22'
          Dst:             strcmp
        - Src:             'setrans_client.c:386,13'
          Dst:             strdup
        - Src:             'setrans_client.c:392,7'
          Dst:             raw_to_trans_context
        - Src:             'setrans_client.c:393,14'
          Dst:             strdup
        - Src:             'setrans_client.c:395,19'
          Dst:             strdup
        - Src:             'setrans_client.c:398,21'
          Dst:             strdup
    - functionName:    trans_to_raw_context
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          83
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - close
        - receive_response
        - send_request
        - setransd_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:238,7'
          Dst:             setransd_open
        - Src:             'setrans_client.c:241,8'
          Dst:             send_request
        - Src:             'setrans_client.c:245,8'
          Dst:             receive_response
        - Src:             'setrans_client.c:255,2'
          Dst:             close
    - functionName:    selinux_trans_to_raw_context
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          172
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - init_context_translations
        - init_thread_destructor
        - pthread_once
        - strcmp
        - strdup
        - trans_to_raw_context
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:338,2'
          Dst:             pthread_once
        - Src:             'setrans_client.c:338,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:338,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:339,2'
          Dst:             init_thread_destructor
        - Src:             'setrans_client.c:342,11'
          Dst:             strdup
        - Src:             'setrans_client.c:346,24'
          Dst:             strcmp
        - Src:             'setrans_client.c:347,11'
          Dst:             strdup
        - Src:             'setrans_client.c:353,7'
          Dst:             trans_to_raw_context
        - Src:             'setrans_client.c:354,12'
          Dst:             strdup
        - Src:             'setrans_client.c:356,21'
          Dst:             strdup
        - Src:             'setrans_client.c:359,19'
          Dst:             strdup
    - functionName:    getseuser
      functionSourceFile: '/src/selinux/libselinux/src/seusers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          283
      EdgeCount:       64
      CyclomaticComplexity: 20
      functionsReached:
        - __fsetlocking
        - asprintf
        - fclose
        - fopen64
        - getline
        - getseuserbyname
        - selinux_policy_root
        - strchr
        - strdup
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'seusers.c:296,38'
          Dst:             selinux_policy_root
        - Src:             'seusers.c:296,6'
          Dst:             asprintf
        - Src:             'seusers.c:299,7'
          Dst:             fopen64
        - Src:             'seusers.c:303,2'
          Dst:             __fsetlocking
        - Src:             'seusers.c:304,9'
          Dst:             getline
        - Src:             'seusers.c:305,7'
          Dst:             strncmp
        - Src:             'seusers.c:307,10'
          Dst:             strdup
        - Src:             'seusers.c:314,9'
          Dst:             strlen
        - Src:             'seusers.c:315,8'
          Dst:             strncmp
        - Src:             'seusers.c:318,10'
          Dst:             strdup
        - Src:             'seusers.c:327,11'
          Dst:             strchr
        - Src:             'seusers.c:332,10'
          Dst:             strchr
        - Src:             'seusers.c:337,14'
          Dst:             strdup
        - Src:             'seusers.c:341,8'
          Dst:             strlen
        - Src:             'seusers.c:345,13'
          Dst:             strdup
        - Src:             'seusers.c:355,3'
          Dst:             fclose
        - Src:             'seusers.c:358,16'
          Dst:             getseuserbyname
    - functionName:    getseuserbyname
      functionSourceFile: '/src/selinux/libselinux/src/seusers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          310
      EdgeCount:       70
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - __fsetlocking
        - check_group
        - fclose
        - fopen64
        - get_default_gid
        - getline
        - is_selinux_mls_enabled
        - process_seusers
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - selinux_usersconf_path
        - strcmp
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'seusers.c:192,20'
          Dst:             is_selinux_mls_enabled
        - Src:             'seusers.c:202,14'
          Dst:             get_default_gid
        - Src:             'seusers.c:204,14'
          Dst:             selinux_usersconf_path
        - Src:             'seusers.c:204,8'
          Dst:             fopen64
        - Src:             'seusers.c:208,2'
          Dst:             __fsetlocking
        - Src:             'seusers.c:209,9'
          Dst:             getline
        - Src:             'seusers.c:211,8'
          Dst:             process_seusers
        - Src:             'seusers.c:216,4'
          Dst:             __errno_location
        - Src:             'seusers.c:216,4'
          Dst:             pthread_mutex_lock
        - Src:             'seusers.c:216,4'
          Dst:             selinux_usersconf_path
        - Src:             'seusers.c:216,4'
          Dst:             pthread_mutex_unlock
        - Src:             'seusers.c:216,4'
          Dst:             __errno_location
        - Src:             'seusers.c:222,8'
          Dst:             strcmp
        - Src:             'seusers.c:226,7'
          Dst:             check_group
        - Src:             'seusers.c:231,9'
          Dst:             strcmp
        - Src:             'seusers.c:245,2'
          Dst:             fclose
        - Src:             'seusers.c:277,14'
          Dst:             strdup
    - functionName:    get_default_gid
      functionSourceFile: '/src/selinux/libselinux/src/seusers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          104
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - getpwnam_r
        - sysconf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'seusers.c:105,17'
          Dst:             sysconf
        - Src:             'seusers.c:116,8'
          Dst:             getpwnam_r
    - functionName:    process_seusers
      functionSourceFile: '/src/selinux/libselinux/src/seusers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          296
      EdgeCount:       65
      CyclomaticComplexity: 19
      functionsReached:
        - __ctype_b_loc
        - strchr
        - strcmp
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'seusers.c:22,17'
          Dst:             strdup
        - Src:             'seusers.c:31,9'
          Dst:             __ctype_b_loc
        - Src:             'seusers.c:37,8'
          Dst:             strchr
        - Src:             'seusers.c:42,10'
          Dst:             strdup
        - Src:             'seusers.c:47,8'
          Dst:             strchr
        - Src:             'seusers.c:52,19'
          Dst:             __ctype_b_loc
        - Src:             'seusers.c:57,11'
          Dst:             strdup
        - Src:             'seusers.c:61,7'
          Dst:             strcmp
        - Src:             'seusers.c:69,18'
          Dst:             __ctype_b_loc
        - Src:             'seusers.c:73,10'
          Dst:             strdup
        - Src:             'seusers.c:77,7'
          Dst:             strcmp
    - functionName:    check_group
      functionSourceFile: '/src/selinux/libselinux/src/seusers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          190
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - calloc
        - getgrnam_r
        - getgrouplist
        - sysconf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'seusers.c:139,17'
          Dst:             sysconf
        - Src:             'seusers.c:148,16'
          Dst:             getgrnam_r
        - Src:             'seusers.c:159,6'
          Dst:             getgrouplist
        - Src:             'seusers.c:162,12'
          Dst:             calloc
        - Src:             'seusers.c:165,7'
          Dst:             getgrouplist
    - functionName:    getgrnam_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    getpwnam_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Sha1Finalise
      functionSourceFile: '/src/selinux/libselinux/src/sha1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          108
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - Sha1Update
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sha1.c:272,2'
          Dst:             Sha1Update
        - Src:             'sha1.c:274,3'
          Dst:             Sha1Update
        - Src:             'sha1.c:277,2'
          Dst:             Sha1Update
    - functionName:    Sha1Update
      functionSourceFile: '/src/selinux/libselinux/src/sha1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          133
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - TransformFunction
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'sha1.c:241,3'
          Dst:             TransformFunction
        - Src:             'sha1.c:243,4'
          Dst:             TransformFunction
    - functionName:    TransformFunction
      functionSourceFile: '/src/selinux/libselinux/src/sha1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         161
      ICount:          4800
      EdgeCount:       321
      CyclomaticComplexity: 162
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Sha1Initialise
      functionSourceFile: '/src/selinux/libselinux/src/sha1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          34
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    security_canonicalize_context
      functionSourceFile: '/src/selinux/libselinux/src/canonicalize_context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - freecon
        - security_canonicalize_context_raw
        - selinux_raw_to_trans_context
        - selinux_trans_to_raw_context
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'canonicalize_context.c:73,6'
          Dst:             selinux_trans_to_raw_context
        - Src:             'canonicalize_context.c:76,8'
          Dst:             security_canonicalize_context_raw
        - Src:             'canonicalize_context.c:78,2'
          Dst:             freecon
        - Src:             'canonicalize_context.c:80,9'
          Dst:             selinux_raw_to_trans_context
        - Src:             'canonicalize_context.c:81,3'
          Dst:             freecon
    - functionName:    security_canonicalize_context_raw
      functionSourceFile: '/src/selinux/libselinux/src/canonicalize_context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          151
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - close
        - open64
        - read
        - snprintf
        - strdup
        - strlcpy
        - strlen
        - write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'canonicalize_context.c:20,3'
          Dst:             __errno_location
        - Src:             'canonicalize_context.c:24,2'
          Dst:             snprintf
        - Src:             'canonicalize_context.c:25,7'
          Dst:             open64
        - Src:             'canonicalize_context.c:35,6'
          Dst:             strlcpy
        - Src:             'canonicalize_context.c:36,3'
          Dst:             __errno_location
        - Src:             'canonicalize_context.c:41,23'
          Dst:             strlen
        - Src:             'canonicalize_context.c:41,8'
          Dst:             write
        - Src:             'canonicalize_context.c:46,8'
          Dst:             read
        - Src:             'canonicalize_context.c:50,7'
          Dst:             __errno_location
        - Src:             'canonicalize_context.c:52,15'
          Dst:             strdup
        - Src:             'canonicalize_context.c:54,15'
          Dst:             strdup
        - Src:             'canonicalize_context.c:63,2'
          Dst:             close
    - functionName:    read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_selinux_mls_enabled
      functionSourceFile: '/src/selinux/libselinux/src/enabled.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          104
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - close
        - open64
        - read
        - snprintf
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'enabled.c:36,2'
          Dst:             snprintf
        - Src:             'enabled.c:37,7'
          Dst:             open64
        - Src:             'enabled.c:44,9'
          Dst:             read
        - Src:             'enabled.c:45,22'
          Dst:             __errno_location
        - Src:             'enabled.c:46,2'
          Dst:             close
        - Src:             'enabled.c:50,7'
          Dst:             strcmp
    - functionName:    is_selinux_enabled
      functionSourceFile: '/src/selinux/libselinux/src/enabled.c'
      linkageType:     InternalLinkage
      functionLinenumber: 12
      functionLinenumberEnd: 19
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_fini
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          162
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - compat_validate
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - selinux_raw_to_trans_context
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:177,6'
          Dst:             compat_validate
        - Src:             'label.c:187,2'
          Dst:             pthread_mutex_lock
        - Src:             'label.c:192,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label.c:196,7'
          Dst:             selinux_raw_to_trans_context
        - Src:             'label.c:200,2'
          Dst:             pthread_mutex_unlock
    - functionName:    selabel_stats
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 431
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_digest_fini
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_digest
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 410
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:401,3'
          Dst:             __errno_location
    - functionName:    selabel_cmp
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 390
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_lookup_best_match_raw
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - selabel_lookup_bm_common
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:376,3'
          Dst:             __errno_location
        - Src:             'label.c:380,7'
          Dst:             selabel_lookup_bm_common
        - Src:             'label.c:384,9'
          Dst:             strdup
    - functionName:    selabel_lookup_bm_common
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - selabel_fini
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:236,3'
          Dst:             __errno_location
        - Src:             'label.c:244,6'
          Dst:             selabel_fini
    - functionName:    selabel_lookup_best_match
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - selabel_lookup_bm_common
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:357,3'
          Dst:             __errno_location
        - Src:             'label.c:361,7'
          Dst:             selabel_lookup_bm_common
        - Src:             'label.c:365,9'
          Dst:             strdup
    - functionName:    selabel_hash_all_partial_matches
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_get_digests_all_partial_matches
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_partial_match
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 326
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_lookup_raw
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - selabel_lookup_common
        - strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:307,7'
          Dst:             selabel_lookup_common
        - Src:             'label.c:311,9'
          Dst:             strdup
    - functionName:    selabel_lookup_common
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          70
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - selabel_fini
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:215,3'
          Dst:             __errno_location
        - Src:             'label.c:223,6'
          Dst:             selabel_fini
    - functionName:    selabel_lookup
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - selabel_lookup_common
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:294,7'
          Dst:             selabel_lookup_common
        - Src:             'label.c:298,9'
          Dst:             strdup
    - functionName:    selabel_close
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 426
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          94
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - selabel_digest_fini
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:417,3'
          Dst:             selabel_digest_fini
    - functionName:    selabel_is_digest_set
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          122
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:70,13'
          Dst:             calloc
        - Src:             'label.c:74,21'
          Dst:             calloc
        - Src:             'label.c:79,5'
          Dst:             calloc
    - functionName:    selabel_is_jit_set
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_is_validate_set
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_open
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          102
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - calloc
        - selabel_close
        - selabel_is_digest_set
        - selabel_is_jit_set
        - selabel_is_validate_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:261,3'
          Dst:             __errno_location
        - Src:             'label.c:266,3'
          Dst:             __errno_location
        - Src:             'label.c:270,33'
          Dst:             calloc
        - Src:             'label.c:275,20'
          Dst:             selabel_is_validate_set
        - Src:             'label.c:276,13'
          Dst:             selabel_is_jit_set
        - Src:             'label.c:278,16'
          Dst:             selabel_is_digest_set
        - Src:             'label.c:281,3'
          Dst:             selabel_close
    - functionName:    selabel_validate
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          135
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:137,2'
          Dst:             pthread_mutex_lock
        - Src:             'label.c:142,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label.c:150,2'
          Dst:             pthread_mutex_unlock
    - functionName:    process_line
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          347
      EdgeCount:       92
      CyclomaticComplexity: 21
      functionsReached:
        - __errno_location
        - __isoc99_sscanf
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - strchr
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_db.c:98,9'
          Dst:             strchr
        - Src:             'label_db.c:107,10'
          Dst:             __isoc99_sscanf
        - Src:             'label_db.c:111,4'
          Dst:             __errno_location
        - Src:             'label_db.c:111,4'
          Dst:             pthread_mutex_lock
        - Src:             'label_db.c:111,4'
          Dst:             pthread_mutex_unlock
        - Src:             'label_db.c:111,4'
          Dst:             __errno_location
        - Src:             'label_db.c:123,7'
          Dst:             strcmp
        - Src:             'label_db.c:125,12'
          Dst:             strcmp
        - Src:             'label_db.c:127,12'
          Dst:             strcmp
        - Src:             'label_db.c:129,12'
          Dst:             strcmp
        - Src:             'label_db.c:131,12'
          Dst:             strcmp
        - Src:             'label_db.c:133,12'
          Dst:             strcmp
        - Src:             'label_db.c:135,12'
          Dst:             strcmp
        - Src:             'label_db.c:137,12'
          Dst:             strcmp
        - Src:             'label_db.c:139,12'
          Dst:             strcmp
        - Src:             'label_db.c:141,12'
          Dst:             strcmp
        - Src:             'label_db.c:143,12'
          Dst:             strcmp
        - Src:             'label_db.c:145,12'
          Dst:             strcmp
        - Src:             'label_db.c:148,3'
          Dst:             __errno_location
        - Src:             'label_db.c:148,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_db.c:148,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_db.c:148,3'
          Dst:             __errno_location
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    db_init
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          390
      EdgeCount:       75
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - calloc
        - digest_add_specfile
        - digest_gen_hash
        - fclose
        - fileno
        - fopen64
        - fstat64
        - getline
        - process_line
        - pthread_mutex_destroy
        - realloc
        - selinux_sepgsql_context_path
        - strdup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'label_db.c:269,3'
          Branch Sides:    []
      Callsites:
        - Src:             'label_db.c:279,4'
          Dst:             __errno_location
        - Src:             'label_db.c:288,10'
          Dst:             selinux_sepgsql_context_path
        - Src:             'label_db.c:290,14'
          Dst:             fopen64
        - Src:             'label_db.c:294,12'
          Dst:             fileno
        - Src:             'label_db.c:294,6'
          Dst:             fstat64
        - Src:             'label_db.c:296,3'
          Dst:             fclose
        - Src:             'label_db.c:301,3'
          Dst:             fclose
        - Src:             'label_db.c:302,3'
          Dst:             __errno_location
        - Src:             'label_db.c:305,20'
          Dst:             calloc
        - Src:             'label_db.c:308,3'
          Dst:             fclose
        - Src:             'label_db.c:311,23'
          Dst:             strdup
        - Src:             'label_db.c:314,3'
          Dst:             fclose
        - Src:             'label_db.c:322,9'
          Dst:             getline
        - Src:             'label_db.c:339,18'
          Dst:             realloc
        - Src:             'label_db.c:350,7'
          Dst:             process_line
        - Src:             'label_db.c:354,6'
          Dst:             digest_add_specfile
        - Src:             'label_db.c:357,2'
          Dst:             digest_gen_hash
        - Src:             'label_db.c:360,2'
          Dst:             fclose
        - Src:             'label_db.c:372,3'
          Dst:             pthread_mutex_destroy
        - Src:             'label_db.c:375,2'
          Dst:             fclose
    - functionName:    db_stats
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          94
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_db.c:231,2'
          Dst:             __errno_location
        - Src:             'label_db.c:231,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_db.c:231,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_db.c:231,2'
          Dst:             __errno_location
    - functionName:    db_lookup
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          87
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - fnmatch
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_db.c:208,8'
          Dst:             fnmatch
        - Src:             'label_db.c:216,2'
          Dst:             __errno_location
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    db_close
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          86
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - pthread_mutex_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_db.c:188,3'
          Dst:             pthread_mutex_destroy
    - functionName:    selabel_db_init
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 391
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - db_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'label_db.c:389,14'
          Dst:             db_init
    - functionName:    process_line
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          198
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - __isoc99_sscanf
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_media.c:42,9'
          Dst:             __ctype_b_loc
        - Src:             'label_media.c:47,10'
          Dst:             __isoc99_sscanf
        - Src:             'label_media.c:49,3'
          Dst:             __errno_location
        - Src:             'label_media.c:49,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_media.c:49,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_media.c:49,3'
          Dst:             __errno_location
    - functionName:    init
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          315
      EdgeCount:       66
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - __fsetlocking
        - calloc
        - digest_add_specfile
        - digest_gen_hash
        - fclose
        - fileno
        - fopen64
        - fseek
        - fstat64
        - getline
        - process_line
        - selinux_media_context_path
        - strdup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'label_media.c:85,3'
          Branch Sides:    []
      Callsites:
        - Src:             'label_media.c:94,4'
          Dst:             __errno_location
        - Src:             'label_media.c:101,10'
          Dst:             selinux_media_context_path
        - Src:             'label_media.c:102,12'
          Dst:             fopen64
        - Src:             'label_media.c:104,2'
          Dst:             __fsetlocking
        - Src:             'label_media.c:106,12'
          Dst:             fileno
        - Src:             'label_media.c:106,6'
          Dst:             fstat64
        - Src:             'label_media.c:109,3'
          Dst:             __errno_location
        - Src:             'label_media.c:112,20'
          Dst:             calloc
        - Src:             'label_media.c:115,23'
          Dst:             strdup
        - Src:             'label_media.c:132,10'
          Dst:             getline
        - Src:             'label_media.c:134,8'
          Dst:             process_line
        - Src:             'label_media.c:145,21'
          Dst:             calloc
        - Src:             'label_media.c:152,13'
          Dst:             fseek
        - Src:             'label_media.c:158,11'
          Dst:             digest_add_specfile
        - Src:             'label_media.c:162,2'
          Dst:             digest_gen_hash
        - Src:             'label_media.c:166,2'
          Dst:             fclose
    - functionName:    stats
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          95
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_media.c:232,2'
          Dst:             __errno_location
        - Src:             'label_media.c:232,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_media.c:232,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_media.c:232,2'
          Dst:             __errno_location
    - functionName:    lookup
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          115
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_media.c:208,38'
          Dst:             strlen
        - Src:             'label_media.c:208,8'
          Dst:             strncmp
        - Src:             'label_media.c:210,8'
          Dst:             strncmp
        - Src:             'label_media.c:216,3'
          Dst:             __errno_location
    - functionName:    close
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          103
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - pthread_mutex_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_media.c:189,3'
          Dst:             pthread_mutex_destroy
    - functionName:    selabel_media_init
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'label_media.c:241,30'
          Dst:             calloc
        - Src:             'label_media.c:250,9'
          Dst:             init
    - functionName:    process_line
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         71
      ICount:          406
      EdgeCount:       90
      CyclomaticComplexity: 21
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - __isoc99_sscanf
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_x.c:44,9'
          Dst:             __ctype_b_loc
        - Src:             'label_x.c:49,10'
          Dst:             __isoc99_sscanf
        - Src:             'label_x.c:51,3'
          Dst:             __errno_location
        - Src:             'label_x.c:51,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_x.c:51,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_x.c:51,3'
          Dst:             __errno_location
        - Src:             'label_x.c:63,8'
          Dst:             strcmp
        - Src:             'label_x.c:65,13'
          Dst:             strcmp
        - Src:             'label_x.c:67,13'
          Dst:             strcmp
        - Src:             'label_x.c:69,13'
          Dst:             strcmp
        - Src:             'label_x.c:71,13'
          Dst:             strcmp
        - Src:             'label_x.c:73,13'
          Dst:             strcmp
        - Src:             'label_x.c:75,13'
          Dst:             strcmp
        - Src:             'label_x.c:78,4'
          Dst:             __errno_location
        - Src:             'label_x.c:78,4'
          Dst:             pthread_mutex_lock
        - Src:             'label_x.c:78,4'
          Dst:             pthread_mutex_unlock
        - Src:             'label_x.c:78,4'
          Dst:             __errno_location
    - functionName:    init
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          315
      EdgeCount:       66
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - __fsetlocking
        - calloc
        - digest_add_specfile
        - digest_gen_hash
        - fclose
        - fileno
        - fopen64
        - fseek
        - fstat64
        - getline
        - process_line
        - selinux_x_context_path
        - strdup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'label_x.c:115,3'
          Branch Sides:    []
      Callsites:
        - Src:             'label_x.c:124,4'
          Dst:             __errno_location
        - Src:             'label_x.c:131,10'
          Dst:             selinux_x_context_path
        - Src:             'label_x.c:132,12'
          Dst:             fopen64
        - Src:             'label_x.c:134,2'
          Dst:             __fsetlocking
        - Src:             'label_x.c:136,12'
          Dst:             fileno
        - Src:             'label_x.c:136,6'
          Dst:             fstat64
        - Src:             'label_x.c:139,3'
          Dst:             __errno_location
        - Src:             'label_x.c:142,20'
          Dst:             calloc
        - Src:             'label_x.c:145,23'
          Dst:             strdup
        - Src:             'label_x.c:162,10'
          Dst:             getline
        - Src:             'label_x.c:164,8'
          Dst:             process_line
        - Src:             'label_x.c:175,21'
          Dst:             calloc
        - Src:             'label_x.c:182,13'
          Dst:             fseek
        - Src:             'label_x.c:188,11'
          Dst:             digest_add_specfile
        - Src:             'label_x.c:192,2'
          Dst:             digest_gen_hash
        - Src:             'label_x.c:196,2'
          Dst:             fclose
    - functionName:    stats
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          95
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_x.c:261,2'
          Dst:             __errno_location
        - Src:             'label_x.c:261,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_x.c:261,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_x.c:261,2'
          Dst:             __errno_location
    - functionName:    lookup
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          112
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - fnmatch
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_x.c:239,8'
          Dst:             fnmatch
        - Src:             'label_x.c:245,3'
          Dst:             __errno_location
    - functionName:    close
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          103
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - pthread_mutex_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_x.c:219,3'
          Dst:             pthread_mutex_destroy
    - functionName:    selabel_x_init
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'label_x.c:270,30'
          Dst:             calloc
        - Src:             'label_x.c:279,9'
          Dst:             init
    - functionName:    lgetfilecon
      functionSourceFile: '/src/selinux/libselinux/src/lgetfilecon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - freecon
        - lgetfilecon_raw
        - selinux_raw_to_trans_context
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lgetfilecon.c:58,8'
          Dst:             lgetfilecon_raw
        - Src:             'lgetfilecon.c:61,9'
          Dst:             selinux_raw_to_trans_context
        - Src:             'lgetfilecon.c:62,3'
          Dst:             freecon
        - Src:             'lgetfilecon.c:66,10'
          Dst:             strlen
    - functionName:    lgetfilecon_raw
      functionSourceFile: '/src/selinux/libselinux/src/lgetfilecon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          133
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - calloc
        - lgetxattr
        - realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lgetfilecon.c:17,8'
          Dst:             calloc
        - Src:             'lgetfilecon.c:21,8'
          Dst:             lgetxattr
        - Src:             'lgetfilecon.c:22,17'
          Dst:             __errno_location
        - Src:             'lgetfilecon.c:25,10'
          Dst:             lgetxattr
        - Src:             'lgetfilecon.c:30,12'
          Dst:             realloc
        - Src:             'lgetfilecon.c:36,9'
          Dst:             lgetxattr
        - Src:             'lgetfilecon.c:41,3'
          Dst:             __errno_location
    - functionName:    lgetxattr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lsetfilecon
      functionSourceFile: '/src/selinux/libselinux/src/lsetfilecon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - freecon
        - lsetfilecon_raw
        - selinux_trans_to_raw_context
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lsetfilecon.c:33,6'
          Dst:             selinux_trans_to_raw_context
        - Src:             'lsetfilecon.c:36,8'
          Dst:             lsetfilecon_raw
        - Src:             'lsetfilecon.c:38,2'
          Dst:             freecon
    - functionName:    lsetfilecon_raw
      functionSourceFile: '/src/selinux/libselinux/src/lsetfilecon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 25
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          78
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - freecon
        - lgetfilecon_raw
        - lsetxattr
        - strcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lsetfilecon.c:13,7'
          Dst:             strlen
        - Src:             'lsetfilecon.c:12,11'
          Dst:             lsetxattr
        - Src:             'lsetfilecon.c:14,16'
          Dst:             __errno_location
        - Src:             'lsetfilecon.c:16,13'
          Dst:             __errno_location
        - Src:             'lsetfilecon.c:17,8'
          Dst:             lgetfilecon_raw
        - Src:             'lsetfilecon.c:18,8'
          Dst:             strcmp
        - Src:             'lsetfilecon.c:21,4'
          Dst:             __errno_location
        - Src:             'lsetfilecon.c:23,3'
          Dst:             freecon
    - functionName:    lsetxattr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    security_policyvers
      functionSourceFile: '/src/selinux/libselinux/src/policyvers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          89
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - __isoc99_sscanf
        - close
        - open64
        - read
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policyvers.c:20,3'
          Dst:             __errno_location
        - Src:             'policyvers.c:24,2'
          Dst:             snprintf
        - Src:             'policyvers.c:25,7'
          Dst:             open64
        - Src:             'policyvers.c:27,7'
          Dst:             __errno_location
        - Src:             'policyvers.c:33,8'
          Dst:             read
        - Src:             'policyvers.c:34,2'
          Dst:             close
        - Src:             'policyvers.c:38,6'
          Dst:             __isoc99_sscanf
    - functionName:    strlcpy
      functionSourceFile: '/src/selinux/libselinux/src/selinux_internal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 10
      functionLinenumberEnd: 18
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_internal.c:11,15'
          Dst:             strlen
...
