---
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: 38
      functionLinenumberEnd: 56
      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:43,8'
          Dst:             write
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:45,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:    192
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sort_specs
      functionSourceFile: '/src/selinux/libselinux/fuzz/../src/label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 389
      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:388,2'
          Dst:             sort_spec_node
    - functionName:    convert_data
      functionSourceFile: '/src/selinux/libselinux/fuzz/selabel_file_compiled-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 86
      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:63,7'
          Dst:             memfd_create
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:67,7'
          Dst:             write_full
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:69,3'
          Dst:             close
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:73,11'
          Dst:             fdopen
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:75,3'
          Dst:             close
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:79,7'
          Dst:             fseek
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:81,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: 26
      functionLinenumberEnd: 35
      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:27,2'
          Dst:             strcmp
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:27,2'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:30,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: 21
      functionLinenumberEnd: 22
      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: 89
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         112
      ICount:          726
      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:128,23'
          Dst:             memmem
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:141,8'
          Dst:             memmem
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:156,8'
          Dst:             memmem
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:189,2'
          Dst:             selinux_set_callback
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:191,2'
          Dst:             selinux_set_callback
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:193,9'
          Dst:             calloc
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:199,7'
          Dst:             convert_data
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:203,2'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:204,7'
          Dst:             load_mmap
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:206,3'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:206,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:210,2'
          Dst:             fclose
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:214,8'
          Dst:             convert_data
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:218,3'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:219,8'
          Dst:             load_mmap
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:221,4'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:221,4'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:225,3'
          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:237,4'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:237,4'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:241,3'
          Dst:             fclose
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:245,2'
          Dst:             sort_specs
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:247,2'
          Dst:             cmp
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:247,2'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:249,2'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:250,11'
          Dst:             lookup_all
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:253,3'
          Dst:             __errno_location
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:253,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:256,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:257,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:258,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:259,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:260,3'
          Dst:             strcmp
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:260,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:261,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:262,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:263,3'
          Dst:             strlen
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:263,3'
          Dst:             __assert_fail
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:268,2'
          Dst:             free_lookup_result
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:270,3'
          Dst:             fclose
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:272,3'
          Dst:             free_spec_node
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:281,9'
          Dst:             munmap
        - Src:             'libselinux/fuzz/selabel_file_compiled-fuzzer.c:282,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:    25
      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: 106
      functionLinenumberEnd: 130
      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:109,2'
          Branch Sides:    []
      Callsites:
        - Src:             'callbacks.c:127,3'
          Dst:             __errno_location
    - functionName:    default_selinux_policyload
      functionSourceFile: '/src/selinux/libselinux/src/callbacks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 56
      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: 49
      functionLinenumberEnd: 50
      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: 38
      functionLinenumberEnd: 40
      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:40,9'
          Dst:             security_check_context
    - functionName:    default_selinux_audit
      functionSourceFile: '/src/selinux/libselinux/src/callbacks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 33
      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: 83
      functionLinenumberEnd: 101
      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:84,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    security_check_context
      functionSourceFile: '/src/selinux/libselinux/src/check_context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 48
      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:40,6'
          Dst:             selinux_trans_to_raw_context
        - Src:             'check_context.c:43,8'
          Dst:             security_check_context_raw
        - Src:             'check_context.c:45,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: 158
      functionLinenumberEnd: 160
      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:159,2'
          Dst:             fini_selinuxmnt
    - functionName:    fini_selinuxmnt
      functionSourceFile: '/src/selinux/libselinux/src/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 137
      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: 148
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - access
        - init_selinuxmnt
        - sysconf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init.c:149,22'
          Dst:             sysconf
        - Src:             'init.c:150,2'
          Dst:             init_selinuxmnt
        - Src:             'init.c:152,24'
          Dst:             access
    - 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: 131
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         31
      ICount:          141
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - __fsetlocking
        - fclose
        - fopen64
        - getline
        - selinuxfs_exists
        - strchr
        - strncmp
        - verify_selinuxmnt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init.c:92,6'
          Dst:             verify_selinuxmnt
        - Src:             'init.c:94,6'
          Dst:             verify_selinuxmnt
        - Src:             'init.c:97,7'
          Dst:             selinuxfs_exists
        - Src:             'init.c:102,7'
          Dst:             fopen64
        - Src:             'init.c:106,2'
          Dst:             __fsetlocking
        - Src:             'init.c:107,16'
          Dst:             getline
        - Src:             'init.c:109,7'
          Dst:             strchr
        - Src:             'init.c:113,9'
          Dst:             strchr
        - Src:             'init.c:116,8'
          Dst:             strncmp
        - Src:             'init.c:124,3'
          Dst:             verify_selinuxmnt
        - Src:             'init.c:129,3'
          Dst:             fclose
    - 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:    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:    3
      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:    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:    1
      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:    11
      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:    7
      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:    10
      BranchProfiles:  []
      Callsites:       []
    - 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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strncmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      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:    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: 141
      functionLinenumberEnd: 143
      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:142,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:    47
      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: 1039
      functionLinenumberEnd: 1069
      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:1047,17'
          Dst:             strlen
        - Src:             'label_file.c:1048,16'
          Dst:             strlen
        - Src:             'label_file.c:1066,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: 1072
      functionLinenumberEnd: 1096
      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:1076,15'
          Dst:             fread
        - Src:             'label_file.c:1078,7'
          Dst:             fseek
        - Src:             'label_file.c:1085,6'
          Dst:             __bswap_32
        - Src:             'label_file.c:1092,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: 1102
      functionLinenumberEnd: 1170
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          194
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - fopen64
        - rolling_append
        - snprintf
        - stat64
        - strcpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1117,7'
          Dst:             snprintf
        - Src:             'label_file.c:1119,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1126,10'
          Dst:             rolling_append
        - Src:             'label_file.c:1129,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1133,8'
          Dst:             stat64
        - Src:             'label_file.c:1139,4'
          Dst:             strcpy
        - Src:             'label_file.c:1159,4'
          Dst:             strcpy
        - Src:             'label_file.c:1164,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1169,9'
          Dst:             fopen64
    - 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:    fclose_errno_safe
      functionSourceFile: '/src/selinux/libselinux/src/./selinux_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - fclose
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './selinux_internal.h:140,16'
          Dst:             __errno_location
        - Src:             './selinux_internal.h:141,9'
          Dst:             fclose
        - Src:             './selinux_internal.h:142,2'
          Dst:             __errno_location
    - functionName:    nodups_spec_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         122
      ICount:          672
      EdgeCount:       152
      CyclomaticComplexity: 32
      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:117,8'
          Dst:             strcmp
        - Src:             'label_file.c:124,4'
          Dst:             __errno_location
        - Src:             'label_file.c:125,8'
          Dst:             strcmp
        - Src:             'label_file.c:126,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:126,5'
          Dst:             __errno_location
        - Src:             'label_file.c:126,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:126,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:126,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:126,5'
          Dst:             __errno_location
        - Src:             'label_file.c:135,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:135,5'
          Dst:             __errno_location
        - Src:             'label_file.c:135,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:135,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:135,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:135,5'
          Dst:             __errno_location
        - Src:             'label_file.c:154,9'
          Dst:             strcmp
        - Src:             'label_file.c:161,5'
          Dst:             __errno_location
        - Src:             'label_file.c:162,9'
          Dst:             strcmp
        - Src:             'label_file.c:163,6'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:163,6'
          Dst:             __errno_location
        - Src:             'label_file.c:163,6'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:163,6'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:163,6'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:163,6'
          Dst:             __errno_location
        - Src:             'label_file.c:172,6'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:172,6'
          Dst:             __errno_location
        - Src:             'label_file.c:172,6'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:172,6'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:172,6'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:172,6'
          Dst:             __errno_location
        - Src:             'label_file.c:186,9'
          Dst:             nodups_spec_node
    - functionName:    file_kind_to_string
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 228
      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:208,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:    112
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sort_specs
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sort_spec_node
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './label_file.h:388,2'
          Dst:             sort_spec_node
    - functionName:    sort_spec_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 103
      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:81,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:83,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:85,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:96,3'
          Dst:             qsort
        - Src:             'label_file.c:96,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:102,3'
          Dst:             sort_spec_node
    - functionName:    compare_literal_spec
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 372
      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:365,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: 375
      functionLinenumberEnd: 383
      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:380,7'
          Dst:             strcmp
        - Src:             './label_file.h:382,2'
          Dst:             __assert_fail
    - functionName:    process_file
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1177
      functionLinenumberEnd: 1220
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:1190,8'
          Dst:             open_file
        - Src:             'label_file.c:1195,8'
          Dst:             fcontext_is_binary
        - Src:             'label_file.c:1197,4'
          Dst:             fclose_errno_safe
        - Src:             'label_file.c:1202,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1202,4'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:1202,4'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:1202,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1203,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1205,9'
          Dst:             load_mmap
        - Src:             'label_file.c:1207,9'
          Dst:             process_text_file
        - Src:             'label_file.c:1211,9'
          Dst:             digest_add_specfile
        - Src:             'label_file.c:1214,3'
          Dst:             fclose_errno_safe
    - functionName:    load_mmap
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 829
      functionLinenumberEnd: 1031
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         149
      ICount:          788
      EdgeCount:       193
      CyclomaticComplexity: 46
      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:845,49'
          Dst:             fileno
        - Src:             'label_file.c:845,9'
          Dst:             mmap64
        - Src:             'label_file.c:849,7'
          Dst:             madvise
        - Src:             'label_file.c:851,3'
          Dst:             __errno_location
        - Src:             'label_file.c:851,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:851,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:851,3'
          Dst:             __errno_location
        - Src:             'label_file.c:864,7'
          Dst:             next_entry
        - Src:             'label_file.c:865,16'
          Dst:             __bswap_32
        - Src:             'label_file.c:869,7'
          Dst:             next_entry
        - Src:             'label_file.c:870,16'
          Dst:             __bswap_32
        - Src:             'label_file.c:871,3'
          Dst:             __bswap_32
        - Src:             'label_file.c:871,3'
          Dst:             __errno_location
        - Src:             'label_file.c:871,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:871,3'
          Dst:             __bswap_32
        - Src:             'label_file.c:871,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:871,3'
          Dst:             __errno_location
        - Src:             'label_file.c:877,16'
          Dst:             regex_version
        - Src:             'label_file.c:881,13'
          Dst:             regex_arch_string
        - Src:             'label_file.c:885,7'
          Dst:             next_entry
        - Src:             'label_file.c:888,17'
          Dst:             __bswap_32
        - Src:             'label_file.c:891,6'
          Dst:             strlen
        - Src:             'label_file.c:896,3'
          Dst:             next_entry
        - Src:             'label_file.c:900,6'
          Dst:             entry_size_check
        - Src:             'label_file.c:907,7'
          Dst:             next_entry
        - Src:             'label_file.c:914,6'
          Dst:             strcmp
        - Src:             'label_file.c:915,3'
          Dst:             __errno_location
        - Src:             'label_file.c:915,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:915,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:915,3'
          Dst:             __errno_location
        - Src:             'label_file.c:926,7'
          Dst:             next_entry
        - Src:             'label_file.c:929,18'
          Dst:             __bswap_32
        - Src:             'label_file.c:932,6'
          Dst:             strlen
        - Src:             'label_file.c:937,3'
          Dst:             next_entry
        - Src:             'label_file.c:941,6'
          Dst:             entry_size_check
        - Src:             'label_file.c:948,7'
          Dst:             next_entry
        - Src:             'label_file.c:955,6'
          Dst:             strcmp
        - Src:             'label_file.c:956,3'
          Dst:             __errno_location
        - Src:             'label_file.c:956,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:956,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:956,3'
          Dst:             __errno_location
        - Src:             'label_file.c:968,7'
          Dst:             next_entry
        - Src:             'label_file.c:971,14'
          Dst:             __bswap_64
        - Src:             'label_file.c:973,7'
          Dst:             load_mmap_ctxarray
        - Src:             'label_file.c:977,9'
          Dst:             calloc
        - Src:             'label_file.c:981,7'
          Dst:             load_mmap_spec_node
        - Src:             'label_file.c:997,3'
          Dst:             free_spec_node
        - Src:             'label_file.c:1002,8'
          Dst:             merge_mmap_spec_nodes
        - Src:             'label_file.c:1006,3'
          Dst:             free_spec_node
        - Src:             'label_file.c:1014,2'
          Dst:             free_context_array
        - Src:             'label_file.c:1019,2'
          Dst:             free_context_array
        - Src:             'label_file.c:1021,3'
          Dst:             free_spec_node
        - Src:             'label_file.c:1027,3'
          Dst:             munmap
        - Src:             'label_file.c:1028,6'
          Dst:             __errno_location
        - Src:             'label_file.c:1029,3'
          Dst:             __errno_location
    - functionName:    process_text_file
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 212
      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:204,18'
          Dst:             getline
        - Src:             'label_file.c:205,8'
          Dst:             process_line
    - functionName:    process_line
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 802
      functionLinenumberEnd: 872
      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:812,7'
          Dst:             strchr
        - Src:             './label_file.h:813,4'
          Dst:             __errno_location
        - Src:             './label_file.h:818,10'
          Dst:             read_spec_entries
        - Src:             './label_file.h:821,4'
          Dst:             __errno_location
        - Src:             './label_file.h:821,4'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:821,4'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:821,4'
          Dst:             __errno_location
        - Src:             './label_file.h:825,4'
          Dst:             __errno_location
        - Src:             './label_file.h:825,4'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:825,4'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:825,4'
          Dst:             __errno_location
        - Src:             './label_file.h:839,3'
          Dst:             __errno_location
        - Src:             './label_file.h:839,3'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:839,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:839,3'
          Dst:             __errno_location
        - Src:             './label_file.h:844,3'
          Dst:             __errno_location
        - Src:             './label_file.h:855,15'
          Dst:             string_to_file_kind
        - Src:             './label_file.h:858,4'
          Dst:             __errno_location
        - Src:             './label_file.h:858,4'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:858,4'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:858,4'
          Dst:             __errno_location
        - Src:             './label_file.h:864,4'
          Dst:             __errno_location
        - Src:             './label_file.h:871,9'
          Dst:             insert_spec
    - functionName:    string_to_file_kind
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 204
      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:186,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    insert_spec
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 778
      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:          1459
      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:520,3'
          Dst:             __errno_location
        - Src:             './label_file.h:524,13'
          Dst:             regex_has_meta_chars
        - Src:             './label_file.h:527,2'
          Dst:             __assert_fail
        - Src:             './label_file.h:541,8'
          Dst:             strchr
        - Src:             './label_file.h:552,9'
          Dst:             regex_simplify
        - Src:             './label_file.h:561,15'
          Dst:             strlen
        - Src:             './label_file.h:567,32'
          Dst:             strcmp
        - Src:             './label_file.h:576,51'
          Dst:             strncmp
        - Src:             './label_file.h:584,10'
          Dst:             __errno_location
        - Src:             './label_file.h:584,10'
          Dst:             reallocarray
        - Src:             './label_file.h:607,8'
          Dst:             __errno_location
        - Src:             './label_file.h:607,8'
          Dst:             reallocarray
        - Src:             './label_file.h:637,8'
          Dst:             compile_regex
        - Src:             './label_file.h:638,5'
          Dst:             __errno_location
        - Src:             './label_file.h:638,5'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:638,5'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:638,5'
          Dst:             __errno_location
        - Src:             './label_file.h:644,8'
          Dst:             strcmp
        - Src:             './label_file.h:645,10'
          Dst:             compat_validate
        - Src:             './label_file.h:657,30'
          Dst:             strlen
        - Src:             './label_file.h:657,8'
          Dst:             regex_simplify
        - Src:             './label_file.h:660,5'
          Dst:             __errno_location
        - Src:             './label_file.h:660,5'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:660,5'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:660,5'
          Dst:             __errno_location
        - Src:             './label_file.h:663,5'
          Dst:             __errno_location
        - Src:             './label_file.h:681,8'
          Dst:             strchr
        - Src:             './label_file.h:693,4'
          Dst:             __assert_fail
        - Src:             './label_file.h:695,32'
          Dst:             strncmp
        - Src:             './label_file.h:704,49'
          Dst:             strncmp
        - Src:             './label_file.h:712,10'
          Dst:             __errno_location
        - Src:             './label_file.h:712,10'
          Dst:             reallocarray
        - Src:             './label_file.h:720,12'
          Dst:             strndup
        - Src:             './label_file.h:741,8'
          Dst:             __errno_location
        - Src:             './label_file.h:741,8'
          Dst:             reallocarray
        - Src:             './label_file.h:751,3'
          Dst:             strlen
        - Src:             './label_file.h:751,3'
          Dst:             __assert_fail
        - Src:             './label_file.h:769,26'
          Dst:             strcmp
        - Src:             './label_file.h:770,9'
          Dst:             compat_validate
    - functionName:    regex_has_meta_chars
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 287
      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:240,3'
          Branch Sides:    []
        - Branch String:   './label_file.h:258,4'
          Branch Sides:    []
      Callsites:       []
    - functionName:    regex_simplify
      functionSourceFile: '/src/selinux/libselinux/src/./label_file.h'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 357
      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:300,3'
          Branch Sides:    []
        - Branch String:   './label_file.h:324,4'
          Branch Sides:    []
      Callsites:
        - Src:             './label_file.h:319,5'
          Dst:             __errno_location
        - Src:             './label_file.h:319,5'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:319,5'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:319,5'
          Dst:             __errno_location
    - 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: 392
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          259
      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:401,6'
          Dst:             __errno_location
        - Src:             './label_file.h:423,2'
          Dst:             pthread_mutex_lock
        - Src:             './label_file.h:435,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:441,8'
          Dst:             strlen
        - Src:             './label_file.h:445,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:446,3'
          Dst:             snprintf
        - Src:             './label_file.h:447,3'
          Dst:             __errno_location
        - Src:             './label_file.h:452,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:453,3'
          Dst:             snprintf
        - Src:             './label_file.h:465,7'
          Dst:             regex_prepare_data
        - Src:             './label_file.h:468,3'
          Dst:             regex_format_error
        - Src:             './label_file.h:469,3'
          Dst:             pthread_mutex_unlock
        - Src:             './label_file.h:470,3'
          Dst:             __errno_location
        - Src:             './label_file.h:482,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:    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:    5
      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: 784
      functionLinenumberEnd: 794
      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: 390
      functionLinenumberEnd: 397
      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: 416
      functionLinenumberEnd: 481
      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:425,7'
          Dst:             next_entry
        - Src:             'label_file.c:428,10'
          Dst:             __bswap_32
        - Src:             'label_file.c:430,6'
          Dst:             entry_size_check
        - Src:             'label_file.c:433,22'
          Dst:             calloc
        - Src:             'label_file.c:446,8'
          Dst:             next_entry
        - Src:             'label_file.c:449,13'
          Dst:             __bswap_16
        - Src:             'label_file.c:454,7'
          Dst:             entry_size_check
        - Src:             'label_file.c:461,8'
          Dst:             next_entry
        - Src:             'label_file.c:468,21'
          Dst:             strcmp
        - Src:             'label_file.c:470,5'
          Dst:             __errno_location
        - Src:             'label_file.c:470,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:470,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:470,5'
          Dst:             __errno_location
    - functionName:    load_mmap_spec_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 825
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - bool
        - 'N/A'
        - int
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         87
      ICount:          579
      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:700,7'
          Dst:             next_entry
        - Src:             'label_file.c:703,13'
          Dst:             __bswap_16
        - Src:             'label_file.c:713,7'
          Dst:             next_entry
        - Src:             'label_file.c:726,7'
          Dst:             next_entry
        - Src:             'label_file.c:729,14'
          Dst:             __bswap_32
        - Src:             'label_file.c:735,7'
          Dst:             entry_size_check
        - Src:             'label_file.c:738,25'
          Dst:             calloc
        - Src:             'label_file.c:746,9'
          Dst:             load_mmap_literal_spec
        - Src:             'label_file.c:756,7'
          Dst:             next_entry
        - Src:             'label_file.c:759,14'
          Dst:             __bswap_32
        - Src:             'label_file.c:765,7'
          Dst:             entry_size_check
        - Src:             'label_file.c:768,23'
          Dst:             calloc
        - Src:             'label_file.c:776,9'
          Dst:             load_mmap_regex_spec
        - Src:             'label_file.c:786,7'
          Dst:             next_entry
        - Src:             'label_file.c:789,17'
          Dst:             __bswap_32
        - Src:             'label_file.c:797,7'
          Dst:             entry_size_check
        - Src:             'label_file.c:800,20'
          Dst:             calloc
        - Src:             'label_file.c:808,9'
          Dst:             load_mmap_spec_node
        - Src:             'label_file.c:813,21'
          Dst:             strcmp
    - functionName:    free_spec_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 76
      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:44,3'
          Dst:             pthread_mutex_destroy
        - Src:             'label_file.c:59,3'
          Dst:             pthread_mutex_destroy
        - Src:             'label_file.c:60,3'
          Dst:             regex_data_free
        - Src:             'label_file.c:61,3'
          Dst:             pthread_mutex_destroy
        - Src:             'label_file.c:71,3'
          Dst:             free_spec_node
    - functionName:    merge_mmap_spec_nodes
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 387
      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:218,2'
          Dst:             strcmp
        - Src:             'label_file.c:218,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:221,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:235,13'
          Dst:             reallocarray
        - Src:             'label_file.c:252,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:274,13'
          Dst:             reallocarray
        - Src:             'label_file.c:292,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:315,19'
          Dst:             calloc
        - Src:             'label_file.c:320,4'
          Dst:             qsort
        - Src:             'label_file.c:320,4'
          Dst:             compare_spec_node
        - Src:             'label_file.c:327,9'
          Dst:             strcmp
        - Src:             'label_file.c:331,11'
          Dst:             merge_mmap_spec_nodes
        - Src:             'label_file.c:338,6'
          Dst:             free_spec_node
        - Src:             'label_file.c:352,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:353,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:376,4'
          Dst:             __assert_fail
    - functionName:    free_context_array
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 405
      functionLinenumberEnd: 413
      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:    16
      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: 485
      functionLinenumberEnd: 572
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - bool
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          319
      EdgeCount:       62
      CyclomaticComplexity: 20
      functionsReached:
        - __bswap_16
        - __bswap_32
        - next_entry
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:500,7'
          Dst:             next_entry
        - Src:             'label_file.c:503,11'
          Dst:             __bswap_32
        - Src:             'label_file.c:508,22'
          Dst:             strdup
        - Src:             'label_file.c:520,7'
          Dst:             next_entry
        - Src:             'label_file.c:523,14'
          Dst:             __bswap_16
        - Src:             'label_file.c:529,7'
          Dst:             next_entry
        - Src:             'label_file.c:540,7'
          Dst:             next_entry
        - Src:             'label_file.c:543,15'
          Dst:             __bswap_16
        - Src:             'label_file.c:549,7'
          Dst:             next_entry
        - Src:             'label_file.c:558,26'
          Dst:             strlen
        - Src:             'label_file.c:565,7'
          Dst:             next_entry
    - functionName:    load_mmap_regex_spec
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 675
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - bool
        - bool
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          326
      EdgeCount:       68
      CyclomaticComplexity: 21
      functionsReached:
        - __bswap_16
        - __bswap_32
        - next_entry
        - pthread_mutex_init
        - regex_load_mmap
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_file.c:591,7'
          Dst:             next_entry
        - Src:             'label_file.c:594,11'
          Dst:             __bswap_32
        - Src:             'label_file.c:599,22'
          Dst:             strdup
        - Src:             'label_file.c:611,7'
          Dst:             next_entry
        - Src:             'label_file.c:614,11'
          Dst:             __bswap_32
        - Src:             'label_file.c:625,7'
          Dst:             next_entry
        - Src:             'label_file.c:628,14'
          Dst:             __bswap_16
        - Src:             'label_file.c:634,7'
          Dst:             next_entry
        - Src:             'label_file.c:645,7'
          Dst:             next_entry
        - Src:             'label_file.c:648,22'
          Dst:             __bswap_16
        - Src:             'label_file.c:650,26'
          Dst:             strlen
        - Src:             'label_file.c:657,7'
          Dst:             next_entry
        - Src:             'label_file.c:666,7'
          Dst:             regex_load_mmap
        - Src:             'label_file.c:672,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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selabel_subs_init
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1268
      functionLinenumberEnd: 1380
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          543
      EdgeCount:       100
      CyclomaticComplexity: 28
      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:1281,8'
          Dst:             fopen64
        - Src:             'label_file.c:1284,11'
          Dst:             __errno_location
        - Src:             'label_file.c:1287,9'
          Dst:             fgets_unlocked
        - Src:             'label_file.c:1293,18'
          Dst:             __ctype_b_loc
        - Src:             'label_file.c:1297,20'
          Dst:             __ctype_b_loc
        - Src:             'label_file.c:1303,18'
          Dst:             __ctype_b_loc
        - Src:             'label_file.c:1306,20'
          Dst:             __ctype_b_loc
        - Src:             'label_file.c:1312,10'
          Dst:             strlen
        - Src:             'label_file.c:1314,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1318,10'
          Dst:             strlen
        - Src:             'label_file.c:1320,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1324,13'
          Dst:             strdup
        - Src:             'label_file.c:1328,13'
          Dst:             strdup
        - Src:             'label_file.c:1332,8'
          Dst:             __errno_location
        - Src:             'label_file.c:1332,8'
          Dst:             reallocarray
        - Src:             'label_file.c:1346,13'
          Dst:             fileno
        - Src:             'label_file.c:1346,7'
          Dst:             fstat64
        - Src:             'label_file.c:1350,6'
          Dst:             digest_add_specfile
        - Src:             'label_file.c:1366,2'
          Dst:             fclose
        - Src:             'label_file.c:1378,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:    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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lookup_common
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2114
      functionLinenumberEnd: 2115
      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:2115,9'
          Dst:             lookup_all
    - functionName:    lookup_all
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2007
      functionLinenumberEnd: 2107
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - bool
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          408
      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:2012,22'
          Dst:             mode_to_file_kind
        - Src:             'label_file.c:2019,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2024,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2029,6'
          Dst:             strstr
        - Src:             'label_file.c:2030,31'
          Dst:             strlen
        - Src:             'label_file.c:2038,17'
          Dst:             strstr
        - Src:             'label_file.c:2040,3'
          Dst:             strcpy
        - Src:             'label_file.c:2045,8'
          Dst:             strlen
        - Src:             'label_file.c:2047,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2066,8'
          Dst:             selabel_sub_key
        - Src:             'label_file.c:2070,9'
          Dst:             lookup_find_deepest_node
        - Src:             'label_file.c:2072,11'
          Dst:             lookup_check_node
        - Src:             'label_file.c:2085,39'
          Dst:             strlen
        - Src:             'label_file.c:2085,8'
          Dst:             strncmp
        - Src:             'label_file.c:2088,8'
          Dst:             all_node_specs
    - functionName:    mode_to_file_kind
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1974
      functionLinenumberEnd: 1996
      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:1977,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    selabel_sub_key
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1384
      functionLinenumberEnd: 1398
      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:1387,8'
          Dst:             selabel_apply_subs
        - Src:             'label_file.c:1389,72'
          Dst:             strlen
        - Src:             'label_file.c:1389,10'
          Dst:             selabel_apply_subs
        - Src:             'label_file.c:1395,9'
          Dst:             selabel_apply_subs
    - functionName:    lookup_find_deepest_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1932
      functionLinenumberEnd: 1971
      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:1948,7'
          Dst:             strchr
        - Src:             'label_file.c:1961,11'
          Dst:             search_child_node
    - functionName:    lookup_check_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1733
      functionLinenumberEnd: 1897
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - bool
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         131
      ICount:          762
      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:1739,19'
          Dst:             strlen
        - Src:             'label_file.c:1741,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:1746,27'
          Dst:             search_literal_spec
        - Src:             'label_file.c:1760,11'
          Dst:             strcmp
        - Src:             'label_file.c:1764,8'
          Dst:             __errno_location
        - Src:             'label_file.c:1794,18'
          Dst:             strncmp
        - Src:             'label_file.c:1795,10'
          Dst:             strcmp
        - Src:             'label_file.c:1813,8'
          Dst:             compile_regex
        - Src:             'label_file.c:1814,5'
          Dst:             __errno_location
        - Src:             'label_file.c:1814,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:1814,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:1814,5'
          Dst:             __errno_location
        - Src:             'label_file.c:1819,9'
          Dst:             regex_match
        - Src:             'label_file.c:1831,9'
          Dst:             strcmp
        - Src:             'label_file.c:1835,6'
          Dst:             __errno_location
        - Src:             'label_file.c:1875,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1887,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1894,2'
          Dst:             free_lookup_result
    - functionName:    all_node_specs
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1615
      functionLinenumberEnd: 1714
      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:1619,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:1628,7'
          Dst:             strcmp
        - Src:             'label_file.c:1662,7'
          Dst:             strcmp
        - Src:             'label_file.c:1693,7'
          Dst:             all_node_specs
        - Src:             'label_file.c:1711,2'
          Dst:             free_lookup_result
    - functionName:    free_lookup_result
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1592
      functionLinenumberEnd: 1600
      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: 1544
      functionLinenumberEnd: 1589
      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:1558,8'
          Dst:             strncmp
        - Src:             'label_file.c:1560,8'
          Dst:             strcmp
        - Src:             'label_file.c:1566,10'
          Dst:             strncmp
        - Src:             'label_file.c:1568,10'
          Dst:             strcmp
    - functionName:    search_child_node
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1900
      functionLinenumberEnd: 1929
      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:1913,7'
          Dst:             strncmp
    - functionName:    selabel_apply_subs
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1233
      functionLinenumberEnd: 1262
      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:1240,7'
          Dst:             strncmp
        - Src:             'label_file.c:1244,10'
          Dst:             strcmp
    - functionName:    spec_node_stats
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2279
      functionLinenumberEnd: 2320
      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:2292,4'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2292,4'
          Dst:             __errno_location
        - Src:             'label_file.c:2292,4'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2292,4'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2292,4'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2292,4'
          Dst:             __errno_location
        - Src:             'label_file.c:2310,4'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2310,4'
          Dst:             __errno_location
        - Src:             'label_file.c:2310,4'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2310,4'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2310,4'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2310,4'
          Dst:             __errno_location
        - Src:             'label_file.c:2319,3'
          Dst:             spec_node_stats
    - functionName:    selabel_subs_fini
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1223
      functionLinenumberEnd: 1230
      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: 2346
      functionLinenumberEnd: 2353
      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:2347,2'
          Dst:             __errno_location
        - Src:             'label_file.c:2347,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2347,2'
          Dst:             fmt_stem
        - Src:             'label_file.c:2347,2'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2347,2'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2347,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2347,2'
          Dst:             __errno_location
    - functionName:    fmt_stem
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2330
      functionLinenumberEnd: 2331
      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: 2335
      functionLinenumberEnd: 2342
      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:2336,2'
          Dst:             __errno_location
        - Src:             'label_file.c:2336,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2336,2'
          Dst:             fmt_stem
        - Src:             'label_file.c:2336,2'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2336,2'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2336,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2336,2'
          Dst:             __errno_location
    - functionName:    init
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1405
      functionLinenumberEnd: 1513
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          391
      EdgeCount:       79
      CyclomaticComplexity: 20
      functionsReached:
        - __errno_location
        - 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:1414,3'
          Branch Sides:    []
      Callsites:
        - Src:             'label_file.c:1429,4'
          Dst:             __errno_location
        - Src:             'label_file.c:1439,4'
          Dst:             selinux_file_context_subs_dist_path
        - Src:             'label_file.c:1438,12'
          Dst:             selabel_subs_init
        - Src:             'label_file.c:1444,30'
          Dst:             selinux_file_context_subs_path
        - Src:             'label_file.c:1444,12'
          Dst:             selabel_subs_init
        - Src:             'label_file.c:1449,10'
          Dst:             selinux_file_context_path
        - Src:             'label_file.c:1451,3'
          Dst:             snprintf
        - Src:             'label_file.c:1452,12'
          Dst:             selabel_subs_init
        - Src:             'label_file.c:1456,3'
          Dst:             snprintf
        - Src:             'label_file.c:1457,12'
          Dst:             selabel_subs_init
        - Src:             'label_file.c:1466,3'
          Dst:             __errno_location
        - Src:             'label_file.c:1470,19'
          Dst:             strdup
        - Src:             'label_file.c:1477,11'
          Dst:             process_file
        - Src:             'label_file.c:1482,3'
          Dst:             sort_specs
        - Src:             'label_file.c:1484,12'
          Dst:             nodups_spec_node
        - Src:             'label_file.c:1490,12'
          Dst:             process_file
        - Src:             'label_file.c:1492,17'
          Dst:             __errno_location
        - Src:             'label_file.c:1495,12'
          Dst:             process_file
        - Src:             'label_file.c:1497,17'
          Dst:             __errno_location
        - Src:             'label_file.c:1502,3'
          Dst:             sort_specs
        - Src:             'label_file.c:1504,2'
          Dst:             digest_gen_hash
        - Src:             'label_file.c:1510,3'
          Dst:             closef
    - functionName:    closef
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1519
      functionLinenumberEnd: 1541
      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:1526,2'
          Dst:             selabel_subs_fini
        - Src:             'label_file.c:1527,2'
          Dst:             selabel_subs_fini
        - Src:             'label_file.c:1529,2'
          Dst:             free_spec_node
        - Src:             'label_file.c:1534,3'
          Dst:             munmap
    - functionName:    lookup_best_match
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2224
      functionLinenumberEnd: 2276
      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:2231,10'
          Dst:             lookup
        - Src:             'label_file.c:2236,12'
          Dst:             calloc
        - Src:             'label_file.c:2239,15'
          Dst:             lookup_common
        - Src:             'label_file.c:2250,16'
          Dst:             lookup_common
        - Src:             'label_file.c:2268,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2273,3'
          Dst:             free_lookup_result
    - functionName:    lookup
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2203
      functionLinenumberEnd: 2211
      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:2206,11'
          Dst:             lookup_common
    - functionName:    hash_all_partial_matches
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2172
      functionLinenumberEnd: 2199
      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:2173,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:2175,34'
          Dst:             lookup_all
        - Src:             'label_file.c:2181,2'
          Dst:             Sha1Initialise
        - Src:             'label_file.c:2188,35'
          Dst:             strlen
        - Src:             'label_file.c:2188,3'
          Dst:             Sha1Update
        - Src:             'label_file.c:2189,3'
          Dst:             Sha1Update
        - Src:             'label_file.c:2190,33'
          Dst:             strlen
        - Src:             'label_file.c:2190,3'
          Dst:             Sha1Update
        - Src:             'label_file.c:2194,2'
          Dst:             Sha1Finalise
        - Src:             'label_file.c:2197,2'
          Dst:             free_lookup_result
    - functionName:    get_digests_all_partial_matches
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2128
      functionLinenumberEnd: 2169
      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:2130,22'
          Dst:             getxattr
        - Src:             'label_file.c:2137,16'
          Dst:             selabel_hash_all_partial_matches
        - Src:             'label_file.c:2145,19'
          Dst:             calloc
        - Src:             'label_file.c:2153,24'
          Dst:             calloc
        - Src:             'label_file.c:2161,3'
          Dst:             memcmp
        - Src:             'label_file.c:2167,2'
          Dst:             __errno_location
        - Src:             'label_file.c:2167,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2167,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2167,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: 2214
      functionLinenumberEnd: 2217
      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:2217,11'
          Dst:             lookup_common
    - functionName:    stats
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2323
      functionLinenumberEnd: 2327
      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:2326,2'
          Dst:             spec_node_stats
    - functionName:    selabel_file_init
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2629
      functionLinenumberEnd: 2656
      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:2633,9'
          Dst:             calloc
        - Src:             'label_file.c:2637,9'
          Dst:             calloc
        - Src:             'label_file.c:2655,9'
          Dst:             init
    - functionName:    cmp
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2609
      functionLinenumberEnd: 2624
      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:2613,2'
          Dst:             __assert_fail
        - Src:             'label_file.c:2623,9'
          Dst:             spec_node_cmp
    - functionName:    spec_node_cmp
      functionSourceFile: '/src/selinux/libselinux/src/label_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2357
      functionLinenumberEnd: 2606
      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:2564,4'
          Branch Sides:    []
      Callsites:
        - Src:             'label_file.c:2360,37'
          Dst:             strcmp
        - Src:             'label_file.c:2363,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2363,3'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2363,3'
          Dst:             fmt_stem
        - Src:             'label_file.c:2363,3'
          Dst:             fmt_stem
        - Src:             'label_file.c:2363,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2363,3'
          Dst:             __errno_location
        - Src:             'label_file.c:2376,10'
          Dst:             strcmp
        - Src:             'label_file.c:2384,12'
          Dst:             lspec_incomp
        - Src:             'label_file.c:2394,12'
          Dst:             lspec_incomp
        - Src:             'label_file.c:2406,12'
          Dst:             lspec_incomp
        - Src:             'label_file.c:2416,12'
          Dst:             lspec_incomp
        - Src:             'label_file.c:2426,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2426,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2426,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2426,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2426,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2434,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2434,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2434,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2434,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2434,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2448,50'
          Dst:             strcmp
        - Src:             'label_file.c:2464,4'
          Dst:             __assert_fail
        - Src:             'label_file.c:2471,54'
          Dst:             strcmp
        - Src:             'label_file.c:2486,54'
          Dst:             strcmp
        - Src:             'label_file.c:2498,11'
          Dst:             rspec_incomp
        - Src:             'label_file.c:2506,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2506,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2506,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2506,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2506,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2506,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2518,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2518,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2518,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2518,5'
          Dst:             file_kind_to_string
        - Src:             'label_file.c:2518,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2518,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2535,10'
          Dst:             strcmp
        - Src:             'label_file.c:2543,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2543,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2543,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2543,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2543,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2554,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2554,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2554,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2554,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2554,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2563,19'
          Dst:             spec_node_cmp
        - Src:             'label_file.c:2570,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2570,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2570,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2570,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2570,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2579,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2579,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2579,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2579,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2579,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2583,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2583,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2583,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2583,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2583,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2591,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2591,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2591,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2591,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2591,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2599,5'
          Dst:             __errno_location
        - Src:             'label_file.c:2599,5'
          Dst:             pthread_mutex_lock
        - Src:             'label_file.c:2599,5'
          Dst:             fmt_stem
        - Src:             'label_file.c:2599,5'
          Dst:             pthread_mutex_unlock
        - Src:             'label_file.c:2599,5'
          Dst:             __errno_location
    - functionName:    digest_add_specfile
      functionSourceFile: '/src/selinux/libselinux/src/label_support.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 210
      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:174,3'
          Dst:             __errno_location
        - Src:             'label_support.c:179,12'
          Dst:             realloc
        - Src:             'label_support.c:186,7'
          Dst:             fseek
        - Src:             'label_support.c:189,7'
          Dst:             fread
        - Src:             'label_support.c:199,48'
          Dst:             strdup
        - Src:             'label_support.c:205,3'
          Dst:             __errno_location
    - 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: 125
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Sha1Finalise
        - Sha1Initialise
        - Sha1Update
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'label_support.c:134,2'
          Dst:             Sha1Initialise
        - Src:             'label_support.c:140,3'
          Dst:             Sha1Update
        - Src:             'label_support.c:144,2'
          Dst:             Sha1Update
        - Src:             'label_support.c:146,2'
          Dst:             Sha1Finalise
    - functionName:    read_spec_entry
      functionSourceFile: '/src/selinux/libselinux/src/label_support.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 60
      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:31,9'
          Dst:             __ctype_b_loc
        - Src:             'label_support.c:37,10'
          Dst:             __ctype_b_loc
        - Src:             'label_support.c:39,4'
          Dst:             __errno_location
        - Src:             'label_support.c:49,4'
          Dst:             __errno_location
        - Src:             'label_support.c:54,12'
          Dst:             strndup
    - functionName:    read_spec_entries
      functionSourceFile: '/src/selinux/libselinux/src/label_support.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          204
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - __ctype_b_loc
        - read_spec_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label_support.c:92,9'
          Dst:             __ctype_b_loc
        - Src:             'label_support.c:111,8'
          Dst:             read_spec_entry
    - functionName:    matchpathcon_lib_destructor
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 372
      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:371,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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    matchpathcon_thread_destructor
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 364
      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:363,2'
          Dst:             matchpathcon_fini_internal
    - functionName:    matchpathcon_fini_internal
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 359
      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:353,2'
          Dst:             free_array_elts
        - Src:             'matchpathcon.c:356,3'
          Dst:             selabel_close
    - functionName:    free_array_elts
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinux_lsetfilecon_default
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 582
      functionLinenumberEnd: 602
      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:586,6'
          Dst:             lstat64
        - Src:             'matchpathcon.c:589,15'
          Dst:             matchpathcon_init_prefix
        - Src:             'matchpathcon.c:594,6'
          Dst:             selabel_lookup_raw
        - Src:             'matchpathcon.c:595,7'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:598,8'
          Dst:             lsetfilecon_raw
        - Src:             'matchpathcon.c:599,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: 381
      functionLinenumberEnd: 394
      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:385,2'
          Dst:             pthread_once
        - Src:             'matchpathcon.c:385,2'
          Dst:             matchpathcon_init_once
        - Src:             'matchpathcon.c:385,2'
          Dst:             matchpathcon_init_once
        - Src:             'matchpathcon.c:386,2'
          Dst:             pthread_setspecific
        - Src:             'matchpathcon.c:393,8'
          Dst:             selabel_open
    - functionName:    default_canoncon
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 144
      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:131,6'
          Dst:             security_canonicalize_context_raw
        - Src:             'matchpathcon.c:132,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:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    matchpathcon_init_once
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 378
      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:376,6'
          Dst:             pthread_key_create
        - Src:             'matchpathcon.c:376,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:    4
      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:    4
      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: 532
      functionLinenumberEnd: 579
      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:540,8'
          Dst:             realpath_not_final
        - Src:             'matchpathcon.c:543,7'
          Dst:             realpath
        - Src:             'matchpathcon.c:548,7'
          Dst:             lgetfilecon_raw
        - Src:             'matchpathcon.c:550,7'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:556,15'
          Dst:             matchpathcon_init_prefix
        - Src:             'matchpathcon.c:557,4'
          Dst:             freecon
        - Src:             'matchpathcon.c:561,6'
          Dst:             selabel_lookup_raw
        - Src:             'matchpathcon.c:562,7'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:572,3'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:573,9'
          Dst:             selinux_file_context_cmp
        - Src:             'matchpathcon.c:576,2'
          Dst:             freecon
        - Src:             'matchpathcon.c:577,2'
          Dst:             freecon
    - functionName:    realpath_not_final
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 465
      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:421,13'
          Dst:             strdup
        - Src:             'matchpathcon.c:429,19'
          Dst:             strrchr
        - Src:             'matchpathcon.c:433,7'
          Dst:             strcpy
        - Src:             'matchpathcon.c:437,7'
          Dst:             realpath
        - Src:             'matchpathcon.c:440,7'
          Dst:             realpath
        - Src:             'matchpathcon.c:450,8'
          Dst:             strlen
        - Src:             'matchpathcon.c:451,12'
          Dst:             strlen
        - Src:             'matchpathcon.c:454,3'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:460,2'
          Dst:             strcpy
        - Src:             'matchpathcon.c:462,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: 512
      functionLinenumberEnd: 529
      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:520,11'
          Dst:             strchr
        - Src:             'matchpathcon.c:521,11'
          Dst:             strchr
        - Src:             'matchpathcon.c:528,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: 504
      functionLinenumberEnd: 506
      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:505,2'
          Dst:             selabel_stats
    - functionName:    add_array_elt
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          118
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - free_array_elts
        - reallocarray
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:100,19'
          Dst:             reallocarray
        - Src:             'matchpathcon.c:103,5'
          Dst:             free_array_elts
        - Src:             'matchpathcon.c:117,30'
          Dst:             strdup
    - functionName:    matchpathcon_index
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 501
      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:495,10'
          Dst:             matchpathcon_internal
        - Src:             'matchpathcon.c:500,9'
          Dst:             add_array_elt
    - functionName:    matchpathcon_internal
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 487
      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:472,15'
          Dst:             matchpathcon_init_prefix
        - Src:             'matchpathcon.c:476,8'
          Dst:             realpath_not_final
        - Src:             'matchpathcon.c:479,7'
          Dst:             realpath
        - Src:             'matchpathcon.c:485,3'
          Dst:             selabel_lookup_raw
        - Src:             'matchpathcon.c:486,3'
          Dst:             selabel_lookup
    - functionName:    matchpathcon
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 490
      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:490,9'
          Dst:             matchpathcon_internal
    - functionName:    matchpathcon_fini
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 406
      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:405,2'
          Dst:             matchpathcon_fini_internal
    - functionName:    matchpathcon_init
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 400
      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:400,9'
          Dst:             matchpathcon_init_prefix
    - functionName:    matchpathcon_filespec_destroy
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          76
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - free_array_elts
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:332,2'
          Dst:             free_array_elts
    - functionName:    matchpathcon_filespec_eval
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          110
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    matchpathcon_filespec_add
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          280
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - calloc
        - lstat64
        - strcmp
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:206,13'
          Dst:             calloc
        - Src:             'matchpathcon.c:215,10'
          Dst:             lstat64
        - Src:             'matchpathcon.c:219,16'
          Dst:             strdup
        - Src:             'matchpathcon.c:226,9'
          Dst:             strcmp
        - Src:             'matchpathcon.c:235,15'
          Dst:             strdup
        - Src:             'matchpathcon.c:250,13'
          Dst:             strdup
    - functionName:    set_matchpathcon_flags
      functionSourceFile: '/src/selinux/libselinux/src/matchpathcon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 168
      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: 147
      functionLinenumberEnd: 152
      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: 124
      functionLinenumberEnd: 126
      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: 65
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          226
      EdgeCount:       63
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - selabel_validate
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'matchpathcon.c:51,8'
          Dst:             selabel_validate
        - Src:             'matchpathcon.c:54,5'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:54,5'
          Dst:             pthread_mutex_lock
        - Src:             'matchpathcon.c:54,5'
          Dst:             pthread_mutex_unlock
        - Src:             'matchpathcon.c:54,5'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:58,5'
          Dst:             __errno_location
        - Src:             'matchpathcon.c:58,5'
          Dst:             pthread_mutex_lock
        - Src:             'matchpathcon.c:58,5'
          Dst:             pthread_mutex_unlock
        - Src:             'matchpathcon.c:58,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:    regex_format_error
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 557
      functionLinenumberEnd: 652
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          249
      EdgeCount:       50
      CyclomaticComplexity: 10
      functionsReached:
        - abort
        - pcre2_get_error_message_8
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'regex.c:634,2'
          Branch Sides:    []
      Callsites:
        - Src:             'regex.c:564,7'
          Dst:             snprintf
        - Src:             'regex.c:570,3'
          Dst:             abort
        - Src:             'regex.c:579,8'
          Dst:             snprintf
        - Src:             'regex.c:581,4'
          Dst:             abort
        - Src:             'regex.c:601,8'
          Dst:             snprintf
        - Src:             'regex.c:608,4'
          Dst:             abort
        - Src:             'regex.c:615,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: 288
      functionLinenumberEnd: 299
      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:291,7'
          Dst:             pcre2_pattern_info_8
        - Src:             'regex.c:292,2'
          Dst:             __assert_fail
        - Src:             'regex.c:293,7'
          Dst:             pcre2_pattern_info_8
        - Src:             'regex.c:294,2'
          Dst:             __assert_fail
        - Src:             'regex.c:295,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:    regex_match
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          95
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - pcre2_match_8
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:
        - Branch String:   'regex.c:268,2'
          Branch Sides:    []
      Callsites:
        - Src:             'regex.c:242,2'
          Dst:             pthread_mutex_lock
        - Src:             'regex.c:255,7'
          Dst:             pcre2_match_8
        - Src:             'regex.c:265,2'
          Dst:             pthread_mutex_unlock
    - 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: 182
      functionLinenumberEnd: 219
      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:191,8'
          Dst:             pcre2_serialize_encode_8
        - Src:             'regex.c:201,13'
          Dst:             __bswap_32
        - Src:             'regex.c:202,8'
          Dst:             fwrite
        - Src:             'regex.c:210,9'
          Dst:             fwrite
        - Src:             'regex.c:217,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: 784
      functionLinenumberEnd: 794
      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: 129
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          149
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - __bswap_32
        - next_entry
        - pcre2_match_data_create_from_pattern_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:134,7'
          Dst:             next_entry
        - Src:             'regex.c:138,14'
          Dst:             __bswap_32
        - Src:             'regex.c:145,8'
          Dst:             pcre2_serialize_get_number_of_codes_8
        - Src:             'regex.c:149,12'
          Dst:             regex_data_create
        - Src:             'regex.c:153,8'
          Dst:             pcre2_serialize_decode_8
        - Src:             'regex.c:161,7'
          Dst:             pcre2_match_data_create_from_pattern_8
        - Src:             'regex.c:170,7'
          Dst:             next_entry
        - Src:             'regex.c:176,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: 302
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          45
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - pthread_mutex_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:304,24'
          Dst:             calloc
        - Src:             'regex.c:308,2'
          Dst:             pthread_mutex_init
    - 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_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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_data_free
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          75
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - pcre2_code_free_8
        - pcre2_match_data_free_8
        - pthread_mutex_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:226,4'
          Dst:             pcre2_code_free_8
        - Src:             'regex.c:230,4'
          Dst:             pcre2_match_data_free_8
        - Src:             'regex.c:233,3'
          Dst:             pthread_mutex_destroy
    - 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:    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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regex_version
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 125
      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:119,15'
          Dst:             pcre2_config_8
        - Src:             'regex.c:123,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: 87
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          84
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - pcre2_compile_8
        - pcre2_match_data_create_from_pattern_8
        - regex_data_create
        - regex_data_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'regex.c:90,11'
          Dst:             regex_data_create
        - Src:             'regex.c:94,20'
          Dst:             pcre2_compile_8
        - Src:             'regex.c:103,6'
          Dst:             pcre2_match_data_create_from_pattern_8
        - Src:             'regex.c:111,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: 43
      functionLinenumberEnd: 64
      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:56,7'
          Dst:             snprintf
    - functionName:    regex_arch_string
      functionSourceFile: '/src/selinux/libselinux/src/regex.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 70
      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:68,2'
          Dst:             pthread_once
        - Src:             'regex.c:68,2'
          Dst:             regex_arch_string_init
        - Src:             'regex.c:68,2'
          Dst:             regex_arch_string_init
    - functionName:    fini_selinux_policyroot
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 254
      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: 520
      functionLinenumberEnd: 521
      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:521,9'
          Dst:             get_path
    - functionName:    get_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 266
      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:265,2'
          Dst:             pthread_once
        - Src:             'selinux_config.c:265,2'
          Dst:             init_selinux_config
        - Src:             'selinux_config.c:265,2'
          Dst:             init_selinux_config
    - functionName:    init_selinux_config
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 239
      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:167,7'
          Dst:             fopen64
        - Src:             'selinux_config.c:169,3'
          Dst:             __fsetlocking
        - Src:             'selinux_config.c:170,17'
          Dst:             getline
        - Src:             'selinux_config.c:174,11'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:179,9'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:182,12'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:184,12'
          Dst:             strdup
        - Src:             'selinux_config.c:187,6'
          Dst:             fclose
        - Src:             'selinux_config.c:190,18'
          Dst:             strlen
        - Src:             'selinux_config.c:192,13'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:192,45'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:196,9'
          Dst:             setpolicytype
        - Src:             'selinux_config.c:199,6'
          Dst:             fclose
        - Src:             'selinux_config.c:204,16'
          Dst:             strncmp
        - Src:             'selinux_config.c:207,12'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:214,8'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:215,15'
          Dst:             atoi
        - Src:             'selinux_config.c:216,13'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:218,13'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:223,3'
          Dst:             fclose
        - Src:             'selinux_config.c:226,29'
          Dst:             setpolicytype
        - Src:             'selinux_config.c:229,6'
          Dst:             asprintf
        - Src:             'selinux_config.c:233,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: 148
      functionLinenumberEnd: 151
      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:150,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:    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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    selinux_file_context_subs_dist_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 514
      functionLinenumberEnd: 515
      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:515,9'
          Dst:             get_path
    - functionName:    selinux_file_context_subs_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 510
      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:510,9'
          Dst:             get_path
    - functionName:    selinux_booleans_subs_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 504
      functionLinenumberEnd: 505
      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:505,9'
          Dst:             get_path
    - functionName:    selinux_systemd_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 500
      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:500,9'
          Dst:             get_path
    - functionName:    selinux_snapperd_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 494
      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:494,12'
          Dst:             get_path
    - functionName:    selinux_openssh_contexts_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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:488,12'
          Dst:             get_path
    - functionName:    selinux_openrc_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 482
      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:482,12'
          Dst:             get_path
    - functionName:    selinux_lxc_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 476
      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:476,9'
          Dst:             get_path
    - functionName:    selinux_virtual_image_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 470
      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:470,9'
          Dst:             get_path
    - functionName:    selinux_virtual_domain_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 463
      functionLinenumberEnd: 464
      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:464,9'
          Dst:             get_path
    - functionName:    selinux_x_context_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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:458,9'
          Dst:             get_path
    - functionName:    selinux_file_context_local_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 452
      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:452,9'
          Dst:             get_path
    - functionName:    selinux_file_context_homedir_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 445
      functionLinenumberEnd: 446
      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:446,9'
          Dst:             get_path
    - functionName:    selinux_netfilter_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 440
      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:440,9'
          Dst:             get_path
    - functionName:    selinux_colors_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 434
      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:434,9'
          Dst:             get_path
    - functionName:    selinux_translations_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_usersconf_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 422
      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:422,9'
          Dst:             get_path
    - functionName:    selinux_users_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 416
      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:416,9'
          Dst:             get_path
    - functionName:    selinux_booleans_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 409
      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:409,9'
          Dst:             get_path
    - functionName:    selinux_user_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 401
      functionLinenumberEnd: 402
      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:402,9'
          Dst:             get_path
    - functionName:    selinux_contexts_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 397
      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:397,9'
          Dst:             get_path
    - functionName:    selinux_customizable_types_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 390
      functionLinenumberEnd: 391
      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:391,9'
          Dst:             get_path
    - functionName:    selinux_media_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 385
      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:385,9'
          Dst:             get_path
    - functionName:    selinux_homedir_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 379
      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:379,9'
          Dst:             get_path
    - functionName:    selinux_file_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 373
      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:373,9'
          Dst:             get_path
    - functionName:    selinux_current_policy_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 368
      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:354,3'
          Dst:             snprintf
        - Src:             'selinux_config.c:355,7'
          Dst:             access
        - Src:             'selinux_config.c:359,9'
          Dst:             security_policyvers
        - Src:             'selinux_config.c:363,5'
          Dst:             selinux_binary_policy_path
        - Src:             'selinux_config.c:362,3'
          Dst:             snprintf
        - Src:             'selinux_config.c:364,17'
          Dst:             access
    - functionName:    selinux_binary_policy_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 343
      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:343,9'
          Dst:             get_path
    - functionName:    selinux_removable_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 337
      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:337,9'
          Dst:             get_path
    - functionName:    selinux_failsafe_context_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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'selinux_config.c:331,9'
          Dst:             get_path
    - functionName:    selinux_securetty_types_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 325
      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:325,9'
          Dst:             get_path
    - functionName:    selinux_default_context_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 319
      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:319,9'
          Dst:             get_path
    - functionName:    selinux_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 313
      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: 282
      functionLinenumberEnd: 309
      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:284,28'
          Dst:             strrchr
        - Src:             'selinux_config.c:286,3'
          Dst:             __errno_location
        - Src:             'selinux_config.c:291,2'
          Dst:             fini_selinux_policyroot
        - Src:             'selinux_config.c:293,23'
          Dst:             strdup
        - Src:             'selinux_config.c:297,6'
          Dst:             setpolicytype
        - Src:             'selinux_config.c:301,7'
          Dst:             asprintf
    - functionName:    selinux_policy_root
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 278
      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:277,2'
          Dst:             pthread_once
        - Src:             'selinux_config.c:277,2'
          Dst:             init_selinux_config
        - Src:             'selinux_config.c:277,2'
          Dst:             init_selinux_config
    - functionName:    selinux_default_type_path
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 271
      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:271,9'
          Dst:             get_path
    - functionName:    selinux_reset_config
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 260
      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:258,2'
          Dst:             fini_selinux_policyroot
        - Src:             'selinux_config.c:259,2'
          Dst:             init_selinux_config
    - functionName:    selinux_getpolicytype
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 144
      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:139,2'
          Dst:             pthread_once
        - Src:             'selinux_config.c:139,2'
          Dst:             init_selinux_config
        - Src:             'selinux_config.c:139,2'
          Dst:             init_selinux_config
        - Src:             'selinux_config.c:142,10'
          Dst:             strdup
    - functionName:    selinux_getenforcemode
      functionSourceFile: '/src/selinux/libselinux/src/selinux_config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 132
      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:91,14'
          Dst:             fopen64
        - Src:             'selinux_config.c:97,3'
          Dst:             fclose
        - Src:             'selinux_config.c:103,9'
          Dst:             fgets_unlocked
        - Src:             'selinux_config.c:104,7'
          Dst:             strncmp
        - Src:             'selinux_config.c:108,10'
          Dst:             __ctype_b_loc
        - Src:             'selinux_config.c:111,8'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:115,15'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:120,15'
          Dst:             strncasecmp
        - Src:             'selinux_config.c:128,2'
          Dst:             fclose
    - functionName:    setrans_lib_destructor
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 289
      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:288,3'
          Dst:             pthread_key_delete
    - functionName:    receive_response
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 194
      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:150,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:161,19'
          Dst:             readv
        - Src:             'setrans_client.c:161,52'
          Dst:             __errno_location
        - Src:             'setrans_client.c:167,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:172,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:177,9'
          Dst:             calloc
        - Src:             'setrans_client.c:184,19'
          Dst:             readv
        - Src:             'setrans_client.c:184,54'
          Dst:             __errno_location
        - Src:             'setrans_client.c:189,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: 87
      functionLinenumberEnd: 136
      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:96,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:105,15'
          Dst:             strlen
        - Src:             'setrans_client.c:106,15'
          Dst:             strlen
        - Src:             'setrans_client.c:126,19'
          Dst:             sendmsg
        - Src:             'setrans_client.c:127,13'
          Dst:             __errno_location
        - Src:             'setrans_client.c:131,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: 82
      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:71,3'
          Dst:             close
        - Src:             'setrans_client.c:72,3'
          Dst:             __errno_location
        - Src:             'setrans_client.c:76,6'
          Dst:             connect
        - Src:             'setrans_client.c:77,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: 272
      functionLinenumberEnd: 279
      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: 248
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - receive_response
        - send_request
        - setransd_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:253,7'
          Dst:             setransd_open
        - Src:             'setrans_client.c:257,8'
          Dst:             send_request
        - Src:             'setrans_client.c:261,8'
          Dst:             receive_response
        - Src:             'setrans_client.c:267,2'
          Dst:             close
    - functionName:    selinux_raw_context_to_color
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 429
      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:399,2'
          Dst:             pthread_once
        - Src:             'setrans_client.c:399,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:399,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:400,2'
          Dst:             init_thread_destructor
        - Src:             'setrans_client.c:403,13'
          Dst:             strdup
        - Src:             'setrans_client.c:407,22'
          Dst:             strcmp
        - Src:             'setrans_client.c:408,13'
          Dst:             strdup
        - Src:             'setrans_client.c:414,7'
          Dst:             raw_context_to_color
        - Src:             'setrans_client.c:417,19'
          Dst:             strdup
        - Src:             'setrans_client.c:420,21'
          Dst:             strdup
    - functionName:    init_context_translations
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 308
      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:303,17'
          Dst:             access
        - Src:             'setrans_client.c:306,6'
          Dst:             pthread_key_create
        - Src:             'setrans_client.c:306,6'
          Dst:             setrans_thread_destructor
    - functionName:    init_thread_destructor
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 292
      functionLinenumberEnd: 299
      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:296,3'
          Dst:             pthread_setspecific
    - functionName:    raw_to_trans_context
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - receive_response
        - send_request
        - setransd_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:204,7'
          Dst:             setransd_open
        - Src:             'setrans_client.c:208,8'
          Dst:             send_request
        - Src:             'setrans_client.c:212,8'
          Dst:             receive_response
        - Src:             'setrans_client.c:218,2'
          Dst:             close
    - functionName:    selinux_raw_to_trans_context
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 389
      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:359,2'
          Dst:             pthread_once
        - Src:             'setrans_client.c:359,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:359,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:360,2'
          Dst:             init_thread_destructor
        - Src:             'setrans_client.c:363,13'
          Dst:             strdup
        - Src:             'setrans_client.c:367,22'
          Dst:             strcmp
        - Src:             'setrans_client.c:368,13'
          Dst:             strdup
        - Src:             'setrans_client.c:374,7'
          Dst:             raw_to_trans_context
        - Src:             'setrans_client.c:375,14'
          Dst:             strdup
        - Src:             'setrans_client.c:377,19'
          Dst:             strdup
        - Src:             'setrans_client.c:380,21'
          Dst:             strdup
    - functionName:    trans_to_raw_context
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - receive_response
        - send_request
        - setransd_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'setrans_client.c:230,7'
          Dst:             setransd_open
        - Src:             'setrans_client.c:233,8'
          Dst:             send_request
        - Src:             'setrans_client.c:237,8'
          Dst:             receive_response
        - Src:             'setrans_client.c:243,2'
          Dst:             close
    - functionName:    selinux_trans_to_raw_context
      functionSourceFile: '/src/selinux/libselinux/src/setrans_client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 348
      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:318,2'
          Dst:             pthread_once
        - Src:             'setrans_client.c:318,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:318,2'
          Dst:             init_context_translations
        - Src:             'setrans_client.c:319,2'
          Dst:             init_thread_destructor
        - Src:             'setrans_client.c:322,11'
          Dst:             strdup
        - Src:             'setrans_client.c:326,24'
          Dst:             strcmp
        - Src:             'setrans_client.c:327,11'
          Dst:             strdup
        - Src:             'setrans_client.c:333,7'
          Dst:             trans_to_raw_context
        - Src:             'setrans_client.c:334,12'
          Dst:             strdup
        - Src:             'setrans_client.c:336,21'
          Dst:             strdup
        - Src:             'setrans_client.c:339,19'
          Dst:             strdup
    - functionName:    getseuser
      functionSourceFile: '/src/selinux/libselinux/src/seusers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          268
      EdgeCount:       58
      CyclomaticComplexity: 18
      functionsReached:
        - __fsetlocking
        - asprintf
        - fclose
        - fopen64
        - getline
        - getseuserbyname
        - selinux_policy_root
        - strchr
        - strdup
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'seusers.c:298,37'
          Dst:             selinux_policy_root
        - Src:             'seusers.c:298,6'
          Dst:             asprintf
        - Src:             'seusers.c:300,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:312,9'
          Dst:             strlen
        - Src:             'seusers.c:313,8'
          Dst:             strncmp
        - Src:             'seusers.c:316,10'
          Dst:             strdup
        - Src:             'seusers.c:322,11'
          Dst:             strchr
        - Src:             'seusers.c:326,10'
          Dst:             strchr
        - Src:             'seusers.c:330,14'
          Dst:             strdup
        - Src:             'seusers.c:333,8'
          Dst:             strlen
        - Src:             'seusers.c:337,13'
          Dst:             strdup
        - Src:             'seusers.c:346,10'
          Dst:             fclose
        - Src:             'seusers.c:349,16'
          Dst:             getseuserbyname
    - functionName:    getseuserbyname
      functionSourceFile: '/src/selinux/libselinux/src/seusers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 285
      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:195,20'
          Dst:             is_selinux_mls_enabled
        - Src:             'seusers.c:205,14'
          Dst:             get_default_gid
        - Src:             'seusers.c:207,14'
          Dst:             selinux_usersconf_path
        - Src:             'seusers.c:207,8'
          Dst:             fopen64
        - Src:             'seusers.c:211,2'
          Dst:             __fsetlocking
        - Src:             'seusers.c:212,9'
          Dst:             getline
        - Src:             'seusers.c:214,8'
          Dst:             process_seusers
        - Src:             'seusers.c:219,4'
          Dst:             __errno_location
        - Src:             'seusers.c:219,4'
          Dst:             pthread_mutex_lock
        - Src:             'seusers.c:219,4'
          Dst:             selinux_usersconf_path
        - Src:             'seusers.c:219,4'
          Dst:             pthread_mutex_unlock
        - Src:             'seusers.c:219,4'
          Dst:             __errno_location
        - Src:             'seusers.c:224,8'
          Dst:             strcmp
        - Src:             'seusers.c:229,7'
          Dst:             check_group
        - Src:             'seusers.c:234,9'
          Dst:             strcmp
        - Src:             'seusers.c:248,2'
          Dst:             fclose
        - Src:             'seusers.c:280,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: 22
      functionLinenumberEnd: 93
      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:23,17'
          Dst:             strdup
        - Src:             'seusers.c:32,9'
          Dst:             __ctype_b_loc
        - Src:             'seusers.c:38,8'
          Dst:             strchr
        - Src:             'seusers.c:43,10'
          Dst:             strdup
        - Src:             'seusers.c:48,8'
          Dst:             strchr
        - Src:             'seusers.c:53,19'
          Dst:             __ctype_b_loc
        - Src:             'seusers.c:58,11'
          Dst:             strdup
        - Src:             'seusers.c:62,7'
          Dst:             strcmp
        - Src:             'seusers.c:70,18'
          Dst:             __ctype_b_loc
        - Src:             'seusers.c:74,10'
          Dst:             strdup
        - Src:             'seusers.c:78,7'
          Dst:             strcmp
    - functionName:    check_group
      functionSourceFile: '/src/selinux/libselinux/src/seusers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 186
      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:138,17'
          Dst:             sysconf
        - Src:             'seusers.c:147,16'
          Dst:             getgrnam_r
        - Src:             'seusers.c:162,6'
          Dst:             getgrouplist
        - Src:             'seusers.c:165,12'
          Dst:             calloc
        - Src:             'seusers.c:168,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: 203
      functionLinenumberEnd: 223
      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:212,5'
          Dst:             Sha1Update
        - Src:             'sha1.c:215,9'
          Dst:             Sha1Update
        - Src:             'sha1.c:218,5'
          Dst:             Sha1Update
    - functionName:    Sha1Update
      functionSourceFile: '/src/selinux/libselinux/src/sha1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 189
      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:176,9'
          Dst:             TransformFunction
        - Src:             'sha1.c:179,13'
          Dst:             TransformFunction
    - functionName:    TransformFunction
      functionSourceFile: '/src/selinux/libselinux/src/sha1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 121
      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: 137
      functionLinenumberEnd: 146
      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: 69
      functionLinenumberEnd: 86
      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:74,6'
          Dst:             selinux_trans_to_raw_context
        - Src:             'canonicalize_context.c:77,8'
          Dst:             security_canonicalize_context_raw
        - Src:             'canonicalize_context.c:79,2'
          Dst:             freecon
        - Src:             'canonicalize_context.c:81,9'
          Dst:             selinux_raw_to_trans_context
        - Src:             'canonicalize_context.c:82,3'
          Dst:             freecon
    - functionName:    security_canonicalize_context_raw
      functionSourceFile: '/src/selinux/libselinux/src/canonicalize_context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          152
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - close
        - open64
        - read
        - snprintf
        - strdup
        - strlcpy
        - strlen
        - strncpy
        - write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'canonicalize_context.c:21,3'
          Dst:             __errno_location
        - Src:             'canonicalize_context.c:25,2'
          Dst:             snprintf
        - Src:             'canonicalize_context.c:26,7'
          Dst:             open64
        - Src:             'canonicalize_context.c:36,6'
          Dst:             strlcpy
        - Src:             'canonicalize_context.c:37,3'
          Dst:             __errno_location
        - Src:             'canonicalize_context.c:42,23'
          Dst:             strlen
        - Src:             'canonicalize_context.c:42,8'
          Dst:             write
        - Src:             'canonicalize_context.c:47,8'
          Dst:             read
        - Src:             'canonicalize_context.c:48,17'
          Dst:             __errno_location
        - Src:             'canonicalize_context.c:51,3'
          Dst:             strncpy
        - Src:             'canonicalize_context.c:54,14'
          Dst:             strdup
        - Src:             'canonicalize_context.c:62,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:    strncpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_selinux_mls_enabled
      functionSourceFile: '/src/selinux/libselinux/src/enabled.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 55
      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:37,2'
          Dst:             snprintf
        - Src:             'enabled.c:38,7'
          Dst:             open64
        - Src:             'enabled.c:45,9'
          Dst:             read
        - Src:             'enabled.c:46,22'
          Dst:             __errno_location
        - Src:             'enabled.c:47,2'
          Dst:             close
        - Src:             'enabled.c:51,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: 159
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          160
      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:163,6'
          Dst:             compat_validate
        - Src:             'label.c:173,2'
          Dst:             pthread_mutex_lock
        - Src:             'label.c:178,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label.c:182,7'
          Dst:             selinux_raw_to_trans_context
        - Src:             'label.c:186,2'
          Dst:             pthread_mutex_unlock
    - functionName:    selabel_stats
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 410
      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: 95
      functionLinenumberEnd: 107
      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: 385
      functionLinenumberEnd: 396
      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:387,3'
          Dst:             __errno_location
    - functionName:    selabel_cmp
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 380
      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: 357
      functionLinenumberEnd: 371
      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:361,3'
          Dst:             __errno_location
        - Src:             'label.c:365,7'
          Dst:             selabel_lookup_bm_common
        - Src:             'label.c:369,9'
          Dst:             strdup
    - functionName:    selabel_lookup_bm_common
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 234
      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:222,3'
          Dst:             __errno_location
        - Src:             'label.c:230,6'
          Dst:             selabel_fini
    - functionName:    selabel_lookup_best_match
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 353
      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:343,3'
          Dst:             __errno_location
        - Src:             'label.c:347,7'
          Dst:             selabel_lookup_bm_common
        - Src:             'label.c:351,9'
          Dst:             strdup
    - functionName:    selabel_hash_all_partial_matches
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 335
      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: 318
      functionLinenumberEnd: 326
      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: 301
      functionLinenumberEnd: 311
      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: 289
      functionLinenumberEnd: 298
      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:292,7'
          Dst:             selabel_lookup_common
        - Src:             'label.c:296,9'
          Dst:             strdup
    - functionName:    selabel_lookup_common
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 213
      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:201,3'
          Dst:             __errno_location
        - Src:             'label.c:209,6'
          Dst:             selabel_fini
    - functionName:    selabel_lookup
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 285
      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:279,7'
          Dst:             selabel_lookup_common
        - Src:             'label.c:283,9'
          Dst:             strdup
    - functionName:    selabel_close
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - selabel_digest_fini
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:401,3'
          Dst:             selabel_digest_fini
    - functionName:    selabel_is_digest_set
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 92
      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:67,13'
          Dst:             calloc
        - Src:             'label.c:71,21'
          Dst:             calloc
        - Src:             'label.c:75,28'
          Dst:             calloc
    - functionName:    selabel_is_validate_set
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 123
      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: 243
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - calloc
        - selabel_close
        - selabel_is_digest_set
        - selabel_is_validate_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'label.c:247,3'
          Dst:             __errno_location
        - Src:             'label.c:252,3'
          Dst:             __errno_location
        - Src:             'label.c:256,33'
          Dst:             calloc
        - Src:             'label.c:261,20'
          Dst:             selabel_is_validate_set
        - Src:             'label.c:263,16'
          Dst:             selabel_is_digest_set
        - Src:             'label.c:266,3'
          Dst:             selabel_close
    - functionName:    selabel_validate
      functionSourceFile: '/src/selinux/libselinux/src/label.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 153
      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:134,2'
          Dst:             pthread_mutex_lock
        - Src:             'label.c:139,3'
          Dst:             pthread_mutex_unlock
        - Src:             'label.c:147,2'
          Dst:             pthread_mutex_unlock
    - functionName:    process_line
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      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:99,9'
          Dst:             strchr
        - Src:             'label_db.c:108,10'
          Dst:             __isoc99_sscanf
        - Src:             'label_db.c:112,4'
          Dst:             __errno_location
        - Src:             'label_db.c:112,4'
          Dst:             pthread_mutex_lock
        - Src:             'label_db.c:112,4'
          Dst:             pthread_mutex_unlock
        - Src:             'label_db.c:112,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: 243
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          338
      EdgeCount:       62
      CyclomaticComplexity: 15
      functionsReached:
        - __errno_location
        - 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:272,3'
          Branch Sides:    []
      Callsites:
        - Src:             'label_db.c:282,4'
          Dst:             __errno_location
        - Src:             'label_db.c:291,10'
          Dst:             selinux_sepgsql_context_path
        - Src:             'label_db.c:293,14'
          Dst:             fopen64
        - Src:             'label_db.c:297,12'
          Dst:             fileno
        - Src:             'label_db.c:297,6'
          Dst:             fstat64
        - Src:             'label_db.c:299,3'
          Dst:             fclose
        - Src:             'label_db.c:304,3'
          Dst:             fclose
        - Src:             'label_db.c:305,3'
          Dst:             __errno_location
        - Src:             'label_db.c:308,19'
          Dst:             strdup
        - Src:             'label_db.c:311,17'
          Dst:             fclose
        - Src:             'label_db.c:318,9'
          Dst:             getline
        - Src:             'label_db.c:329,18'
          Dst:             realloc
        - Src:             'label_db.c:340,7'
          Dst:             process_line
        - Src:             'label_db.c:344,6'
          Dst:             digest_add_specfile
        - Src:             'label_db.c:347,2'
          Dst:             digest_gen_hash
        - Src:             'label_db.c:350,2'
          Dst:             fclose
        - Src:             'label_db.c:362,3'
          Dst:             pthread_mutex_destroy
        - Src:             'label_db.c:365,2'
          Dst:             fclose
    - functionName:    db_stats
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 235
      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:233,2'
          Dst:             __errno_location
        - Src:             'label_db.c:233,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_db.c:233,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_db.c:233,2'
          Dst:             __errno_location
    - functionName:    db_lookup
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 219
      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:209,8'
          Dst:             fnmatch
        - Src:             'label_db.c:217,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: 176
      functionLinenumberEnd: 192
      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:189,3'
          Dst:             pthread_mutex_destroy
    - functionName:    selabel_db_init
      functionSourceFile: '/src/selinux/libselinux/src/label_db.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 381
      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:379,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: 158
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          284
      EdgeCount:       60
      CyclomaticComplexity: 15
      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,19'
          Dst:             strdup
        - Src:             'label_media.c:126,10'
          Dst:             getline
        - Src:             'label_media.c:128,8'
          Dst:             process_line
        - Src:             'label_media.c:137,21'
          Dst:             calloc
        - Src:             'label_media.c:142,13'
          Dst:             fseek
        - Src:             'label_media.c:148,11'
          Dst:             digest_add_specfile
        - Src:             'label_media.c:152,2'
          Dst:             digest_gen_hash
        - Src:             'label_media.c:156,2'
          Dst:             fclose
    - functionName:    stats
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 224
      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:222,2'
          Dst:             __errno_location
        - Src:             'label_media.c:222,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_media.c:222,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_media.c:222,2'
          Dst:             __errno_location
    - functionName:    lookup
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 212
      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:198,38'
          Dst:             strlen
        - Src:             'label_media.c:198,8'
          Dst:             strncmp
        - Src:             'label_media.c:200,8'
          Dst:             strncmp
        - Src:             'label_media.c:206,3'
          Dst:             __errno_location
    - functionName:    close
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 187
      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:179,3'
          Dst:             pthread_mutex_destroy
    - functionName:    selabel_media_init
      functionSourceFile: '/src/selinux/libselinux/src/label_media.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 242
      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:232,30'
          Dst:             calloc
        - Src:             'label_media.c:241,9'
          Dst:             init
    - functionName:    process_line
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         71
      ICount:          400
      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: 99
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          284
      EdgeCount:       60
      CyclomaticComplexity: 15
      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:112,3'
          Branch Sides:    []
      Callsites:
        - Src:             'label_x.c:121,4'
          Dst:             __errno_location
        - Src:             'label_x.c:128,10'
          Dst:             selinux_x_context_path
        - Src:             'label_x.c:129,12'
          Dst:             fopen64
        - Src:             'label_x.c:131,2'
          Dst:             __fsetlocking
        - Src:             'label_x.c:133,12'
          Dst:             fileno
        - Src:             'label_x.c:133,6'
          Dst:             fstat64
        - Src:             'label_x.c:136,3'
          Dst:             __errno_location
        - Src:             'label_x.c:139,19'
          Dst:             strdup
        - Src:             'label_x.c:153,10'
          Dst:             getline
        - Src:             'label_x.c:155,8'
          Dst:             process_line
        - Src:             'label_x.c:164,21'
          Dst:             calloc
        - Src:             'label_x.c:169,13'
          Dst:             fseek
        - Src:             'label_x.c:175,11'
          Dst:             digest_add_specfile
        - Src:             'label_x.c:179,2'
          Dst:             digest_gen_hash
        - Src:             'label_x.c:183,2'
          Dst:             fclose
    - functionName:    stats
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 250
      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:248,2'
          Dst:             __errno_location
        - Src:             'label_x.c:248,2'
          Dst:             pthread_mutex_lock
        - Src:             'label_x.c:248,2'
          Dst:             pthread_mutex_unlock
        - Src:             'label_x.c:248,2'
          Dst:             __errno_location
    - functionName:    lookup
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 238
      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:226,8'
          Dst:             fnmatch
        - Src:             'label_x.c:232,3'
          Dst:             __errno_location
    - functionName:    close
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 214
      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:206,3'
          Dst:             pthread_mutex_destroy
    - functionName:    selabel_x_init
      functionSourceFile: '/src/selinux/libselinux/src/label_x.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 267
      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:257,30'
          Dst:             calloc
        - Src:             'label_x.c:266,9'
          Dst:             init
    - functionName:    lgetfilecon
      functionSourceFile: '/src/selinux/libselinux/src/lgetfilecon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 69
      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:59,8'
          Dst:             lgetfilecon_raw
        - Src:             'lgetfilecon.c:62,9'
          Dst:             selinux_raw_to_trans_context
        - Src:             'lgetfilecon.c:63,3'
          Dst:             freecon
        - Src:             'lgetfilecon.c:67,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: 30
      functionLinenumberEnd: 42
      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:34,6'
          Dst:             selinux_trans_to_raw_context
        - Src:             'lsetfilecon.c:37,8'
          Dst:             lsetfilecon_raw
        - Src:             'lsetfilecon.c:39,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:12,56'
          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
...
