---
Fuzzer filename: '/src/selinux/checkpolicy/fuzz/checkpolicy-fuzzer.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    full_write
      functionSourceFile: '/src/selinux/checkpolicy/fuzz/checkpolicy-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          80
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:43,17'
          Dst:             write
        - Src:             'checkpolicy/fuzz/checkpolicy-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:    1
      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:    34
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write_binary_policy
      functionSourceFile: '/src/selinux/checkpolicy/fuzz/checkpolicy-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - policy_file_init
        - policydb_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:142,2'
          Dst:             policy_file_init
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:145,9'
          Dst:             policydb_write
    - functionName:    read_source_policy
      functionSourceFile: '/src/selinux/checkpolicy/fuzz/checkpolicy-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          220
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - _setjmp
        - close
        - fclose
        - fdopen
        - fsync
        - full_write
        - init_parser
        - memfd_create
        - queue_create
        - queue_destroy
        - rewind
        - yylex_destroy
        - yyparse
        - yyrestart
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:67,7'
          Dst:             memfd_create
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:71,7'
          Dst:             full_write
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:73,3'
          Dst:             close
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:77,2'
          Dst:             fsync
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:81,9'
          Dst:             fdopen
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:83,3'
          Dst:             close
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:87,2'
          Dst:             rewind
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:89,13'
          Dst:             queue_create
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:91,3'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:92,3'
          Dst:             yylex_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:99,2'
          Dst:             init_parser
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:101,6'
          Dst:             _setjmp
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:102,3'
          Dst:             queue_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:103,3'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:104,3'
          Dst:             yylex_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:108,7'
          Dst:             yyparse
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:110,2'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:112,3'
          Dst:             queue_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:113,3'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:114,3'
          Dst:             yylex_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:118,2'
          Dst:             rewind
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:119,2'
          Dst:             init_parser
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:120,2'
          Dst:             yyrestart
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:122,7'
          Dst:             yyparse
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:123,2'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:125,3'
          Dst:             queue_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:126,3'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:127,3'
          Dst:             yylex_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:131,2'
          Dst:             queue_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:132,2'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:133,2'
          Dst:             yylex_destroy
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fsync
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fdopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rewind
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _setjmp
      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:    __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:    68
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/selinux/checkpolicy/fuzz/checkpolicy-fuzzer.c'
      linkageType:     externalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         90
      ICount:          453
      EdgeCount:       106
      CyclomaticComplexity: 18
      functionsReached:
        - __assert_fail
        - abort
        - check_assertions
        - expand_module
        - fclose
        - fopen64
        - hierarchy_check_constraints
        - link_modules
        - module_compiler_reset
        - policydb_destroy
        - policydb_init
        - policydb_load_isids
        - policydb_optimize
        - policydb_set_target_platform
        - policydb_sort_ocontexts
        - policydb_validate
        - read_source_policy
        - sepol_debug
        - sepol_kernel_policydb_to_cil
        - sepol_kernel_policydb_to_conf
        - sepol_module_policydb_to_cil
        - sepol_sidtab_destroy
        - write_binary_policy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'checkpolicy/fuzz/checkpolicy-fuzzer.c:166,2'
          Branch Sides:    []
        - Branch String:   'checkpolicy/fuzz/checkpolicy-fuzzer.c:176,2'
          Branch Sides:    []
      Callsites:
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:157,2'
          Dst:             sepol_debug
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:193,6'
          Dst:             policydb_init
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:200,2'
          Dst:             policydb_set_target_platform
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:202,6'
          Dst:             read_source_policy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:206,7'
          Dst:             link_modules
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:209,7'
          Dst:             policydb_init
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:212,7'
          Dst:             expand_module
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:215,10'
          Dst:             check_assertions
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:216,10'
          Dst:             hierarchy_check_constraints
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:220,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:221,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:222,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:223,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:227,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:228,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:229,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:230,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:235,6'
          Dst:             policydb_load_isids
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:238,51'
          Dst:             policydb_optimize
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:241,6'
          Dst:             policydb_sort_ocontexts
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:244,6'
          Dst:             policydb_validate
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:246,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:248,12'
          Dst:             fopen64
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:252,6'
          Dst:             write_binary_policy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:253,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:255,51'
          Dst:             sepol_kernel_policydb_to_conf
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:256,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:258,51'
          Dst:             sepol_kernel_policydb_to_cil
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:259,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:261,50'
          Dst:             sepol_module_policydb_to_cil
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:262,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:266,3'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:268,2'
          Dst:             sepol_sidtab_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:269,2'
          Dst:             policydb_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:270,2'
          Dst:             policydb_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:274,2'
          Dst:             module_compiler_reset
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_source_file
      functionSourceFile: '/src/selinux/checkpolicy/policy_scan.l'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          45
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strlen
        - strncpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_scan.l:397,2'
          Dst:             strncpy
        - Src:             'policy_scan.l:399,6'
          Dst:             strlen
        - Src:             'policy_scan.l:399,41'
          Dst:             strlen
        - Src:             'policy_scan.l:400,15'
          Dst:             strlen
    - 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:    2
      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:    90
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyrealloc
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5453
      functionLinenumberEnd: 5462
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5462,9'
          Dst:             realloc
    - 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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yy_init_globals
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5373
      functionLinenumberEnd: 5397
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yylex_destroy
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5402
      functionLinenumberEnd: 5419
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          60
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - yy_delete_buffer
        - yy_init_globals
        - yyfree
        - yypop_buffer_state
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5406,3'
          Dst:             yy_delete_buffer
        - Src:             'lex.yy.c:5408,3'
          Dst:             yypop_buffer_state
        - Src:             'lex.yy.c:5412,2'
          Dst:             yyfree
        - Src:             'lex.yy.c:5417,5'
          Dst:             yy_init_globals
    - functionName:    yy_delete_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5012
      functionLinenumberEnd: 5024
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          72
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - yyfree
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5021,3'
          Dst:             yyfree
        - Src:             'lex.yy.c:5023,2'
          Dst:             yyfree
    - functionName:    yypop_buffer_state
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5118
      functionLinenumberEnd: 5131
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         25
      ICount:          103
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - yy_delete_buffer
        - yy_load_buffer_state
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5122,2'
          Dst:             yy_delete_buffer
        - Src:             'lex.yy.c:5128,3'
          Dst:             yy_load_buffer_state
    - functionName:    yyfree
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5466
      functionLinenumberEnd: 5468
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yy_load_buffer_state
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4970
      functionLinenumberEnd: 4975
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          29
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyset_debug
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5368
      functionLinenumberEnd: 5370
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyget_debug
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5363
      functionLinenumberEnd: 5364
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyset_out
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5358
      functionLinenumberEnd: 5360
      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:    yyset_in
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5353
      functionLinenumberEnd: 5355
      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:    yyset_lineno
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5341
      functionLinenumberEnd: 5344
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyget_text
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5332
      functionLinenumberEnd: 5333
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyget_leng
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5323
      functionLinenumberEnd: 5324
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyget_out
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5315
      functionLinenumberEnd: 5316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyget_in
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5307
      functionLinenumberEnd: 5308
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyget_lineno
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5298
      functionLinenumberEnd: 5300
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yy_scan_bytes
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5236
      functionLinenumberEnd: 5262
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          94
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - yy_scan_buffer
        - yyalloc
        - yyfatal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5244,17'
          Dst:             yyalloc
        - Src:             'lex.yy.c:5246,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:5253,6'
          Dst:             yy_scan_buffer
        - Src:             'lex.yy.c:5255,3'
          Dst:             yyfatal
    - functionName:    yyalloc
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5448
      functionLinenumberEnd: 5449
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyfatal
      functionSourceFile: '/src/selinux/checkpolicy/policy_scan.l'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - longjmp
        - yyerror
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_scan.l:53,2'
          Dst:             yyerror
        - Src:             'policy_scan.l:54,2'
          Dst:             longjmp
    - functionName:    yy_scan_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5186
      functionLinenumberEnd: 5212
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - yy_switch_to_buffer
        - yyalloc
        - yyfatal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5195,24'
          Dst:             yyalloc
        - Src:             'lex.yy.c:5197,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:5209,2'
          Dst:             yy_switch_to_buffer
    - functionName:    yy_switch_to_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4939
      functionLinenumberEnd: 4967
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          89
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - yy_load_buffer_state
        - yyensure_buffer_stack
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:4946,2'
          Dst:             yyensure_buffer_stack
        - Src:             'lex.yy.c:4959,2'
          Dst:             yy_load_buffer_state
    - functionName:    yyensure_buffer_stack
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5137
      functionLinenumberEnd: 5177
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - yyalloc
        - yyfatal
        - yyrealloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5147,49'
          Dst:             yyalloc
        - Src:             'lex.yy.c:5151,4'
          Dst:             yyfatal
        - Src:             'lex.yy.c:5166,49'
          Dst:             yyrealloc
        - Src:             'lex.yy.c:5171,4'
          Dst:             yyfatal
    - functionName:    yyerror
      functionSourceFile: '/src/selinux/checkpolicy/policy_scan.l'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    278
      BranchProfiles:  []
      Callsites:       []
    - functionName:    longjmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yy_scan_string
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5223
      functionLinenumberEnd: 5225
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strlen
        - yy_scan_bytes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5225,37'
          Dst:             strlen
        - Src:             'lex.yy.c:5225,9'
          Dst:             yy_scan_bytes
    - functionName:    yypush_buffer_state
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5088
      functionLinenumberEnd: 5111
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          103
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - yy_load_buffer_state
        - yyensure_buffer_stack
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5092,2'
          Dst:             yyensure_buffer_stack
        - Src:             'lex.yy.c:5109,2'
          Dst:             yy_load_buffer_state
    - functionName:    yy_flush_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5059
      functionLinenumberEnd: 5079
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          74
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - yy_load_buffer_state
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5078,3'
          Dst:             yy_load_buffer_state
    - functionName:    yy_init_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5032
      functionLinenumberEnd: 5052
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - fileno
        - isatty
        - yy_flush_buffer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:5033,15'
          Dst:             __errno_location
        - Src:             'lex.yy.c:5035,2'
          Dst:             yy_flush_buffer
        - Src:             'lex.yy.c:5049,48'
          Dst:             fileno
        - Src:             'lex.yy.c:5049,40'
          Dst:             isatty
        - Src:             'lex.yy.c:5051,2'
          Dst:             __errno_location
    - functionName:    fileno
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    isatty
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyrestart
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4922
      functionLinenumberEnd: 4932
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - yy_create_buffer
        - yy_init_buffer
        - yy_load_buffer_state
        - yyensure_buffer_stack
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:4925,9'
          Dst:             yyensure_buffer_stack
        - Src:             'lex.yy.c:4927,13'
          Dst:             yy_create_buffer
        - Src:             'lex.yy.c:4930,2'
          Dst:             yy_init_buffer
        - Src:             'lex.yy.c:4931,2'
          Dst:             yy_load_buffer_state
    - functionName:    yy_create_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4984
      functionLinenumberEnd: 5004
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - yy_init_buffer
        - yyalloc
        - yyfatal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:4987,24'
          Dst:             yyalloc
        - Src:             'lex.yy.c:4989,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4996,26'
          Dst:             yyalloc
        - Src:             'lex.yy.c:4998,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:5002,2'
          Dst:             yy_init_buffer
    - functionName:    yy_get_next_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4646
      functionLinenumberEnd: 4779
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         74
      ICount:          580
      EdgeCount:       98
      CyclomaticComplexity: 26
      functionsReached:
        - __errno_location
        - clearerr
        - ferror
        - fread
        - getc
        - yyfatal
        - yyrealloc
        - yyrestart
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lex.yy.c:4653,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4714,6'
          Dst:             yyrealloc
        - Src:             'lex.yy.c:4722,5'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4736,3'
          Dst:             getc
        - Src:             'lex.yy.c:4736,3'
          Dst:             ferror
        - Src:             'lex.yy.c:4736,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4736,3'
          Dst:             __errno_location
        - Src:             'lex.yy.c:4736,3'
          Dst:             fread
        - Src:             'lex.yy.c:4736,3'
          Dst:             ferror
        - Src:             'lex.yy.c:4736,3'
          Dst:             __errno_location
        - Src:             'lex.yy.c:4736,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4736,3'
          Dst:             __errno_location
        - Src:             'lex.yy.c:4736,3'
          Dst:             clearerr
        - Src:             'lex.yy.c:4747,4'
          Dst:             yyrestart
        - Src:             'lex.yy.c:4764,50'
          Dst:             yyrealloc
        - Src:             'lex.yy.c:4767,4'
          Dst:             yyfatal
    - functionName:    getc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ferror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fread
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clearerr
      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:    yy_try_NUL_trans
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4816
      functionLinenumberEnd: 4835
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          104
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yy_get_previous_state
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4784
      functionLinenumberEnd: 4807
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          125
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_source_line_and_file
      functionSourceFile: '/src/selinux/checkpolicy/policy_scan.l'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - set_source_file
        - strtoul
        - yywarn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_scan.l:407,2'
          Dst:             __errno_location
        - Src:             'policy_scan.l:408,11'
          Dst:             strtoul
        - Src:             'policy_scan.l:409,6'
          Dst:             __errno_location
        - Src:             'policy_scan.l:410,3'
          Dst:             yywarn
        - Src:             'policy_scan.l:412,2'
          Dst:             set_source_file
    - functionName:    strtoul
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yywarn
      functionSourceFile: '/src/selinux/checkpolicy/policy_scan.l'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - yyerror
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_scan.l:376,10'
          Dst:             yyerror
    - functionName:    yy_flex_strncpy
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5428
      functionLinenumberEnd: 5433
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          39
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yylex
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3541
      functionLinenumberEnd: 4636
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         410
      ICount:          1715
      EdgeCount:       428
      CyclomaticComplexity: 20
      functionsReached:
        - __errno_location
        - fwrite
        - set_source_line_and_file
        - strncpy
        - strtoul
        - yy_create_buffer
        - yy_flex_strncpy
        - yy_get_next_buffer
        - yy_get_previous_state
        - yy_load_buffer_state
        - yy_try_NUL_trans
        - yyensure_buffer_stack
        - yyerror
        - yyfatal
        - yywarn
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lex.yy.c:3623,3'
          Branch Sides:    []
        - Branch String:   'lex.yy.c:4576,8'
          Branch Sides:    []
      Callsites:
        - Src:             'lex.yy.c:3564,4'
          Dst:             yyensure_buffer_stack
        - Src:             'lex.yy.c:3566,5'
          Dst:             yy_create_buffer
        - Src:             'lex.yy.c:3569,3'
          Dst:             yy_load_buffer_state
        - Src:             'lex.yy.c:3619,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:3619,3'
          Dst:             yy_flex_strncpy
        - Src:             'policy_scan.l:84,7'
          Dst:             strncpy
        - Src:             'policy_scan.l:92,11'
          Dst:             yywarn
        - Src:             'policy_scan.l:95,7'
          Dst:             yyfatal
        - Src:             'policy_scan.l:95,7'
          Dst:             yy_flex_strncpy
        - Src:             'policy_scan.l:304,3'
          Dst:             set_source_line_and_file
        - Src:             'policy_scan.l:306,7'
          Dst:             __errno_location
        - Src:             'policy_scan.l:307,23'
          Dst:             strtoul
        - Src:             'policy_scan.l:308,11'
          Dst:             __errno_location
        - Src:             'policy_scan.l:309,9'
          Dst:             yywarn
        - Src:             'policy_scan.l:333,3'
          Dst:             yyerror
        - Src:             'policy_scan.l:341,1'
          Dst:             fwrite
        - Src:             'lex.yy.c:4546,23'
          Dst:             yy_get_previous_state
        - Src:             'lex.yy.c:4557,20'
          Dst:             yy_try_NUL_trans
        - Src:             'lex.yy.c:4576,17'
          Dst:             yy_get_next_buffer
        - Src:             'lex.yy.c:4611,24'
          Dst:             yy_get_previous_state
        - Src:             'lex.yy.c:4621,24'
          Dst:             yy_get_previous_state
        - Src:             'lex.yy.c:4631,3'
          Dst:             yyfatal
    - 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:    is_perm_in_scope_index
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1132
      functionLinenumberEnd: 1141
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_get_bit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1136,6'
          Dst:             ebitmap_get_bit
    - functionName:    perm_destroy
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 752
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_creation_allowed
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    module_compiler_reset
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1475
      functionLinenumberEnd: 1481
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - pop_stack
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1477,3'
          Dst:             pop_stack
    - functionName:    pop_stack
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1465
      functionLinenumberEnd: 1471
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          32
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1467,2'
          Dst:             __assert_fail
    - functionName:    copy_requirements
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1355
      functionLinenumberEnd: 1400
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          216
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - copy_requirements
        - ebitmap_init
        - ebitmap_union
        - realloc
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1366,8'
          Dst:             ebitmap_union
        - Src:             'module_compiler.c:1367,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:1374,8'
          Dst:             realloc
        - Src:             'module_compiler.c:1378,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:1384,5'
          Dst:             ebitmap_init
        - Src:             'module_compiler.c:1393,8'
          Dst:             ebitmap_union
        - Src:             'module_compiler.c:1394,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:1399,9'
          Dst:             copy_requirements
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    end_avrule_block
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1407
      functionLinenumberEnd: 1430
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          103
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - copy_requirements
        - yyerror
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1409,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:1413,7'
          Dst:             copy_requirements
        - Src:             'module_compiler.c:1425,4'
          Dst:             yyerror
    - functionName:    begin_optional_else
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1328
      functionLinenumberEnd: 1352
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          122
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - avrule_decl_create
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1330,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:1334,15'
          Dst:             avrule_decl_create
        - Src:             'module_compiler.c:1335,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:1343,3'
          Dst:             __assert_fail
    - functionName:    end_optional
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1321
      functionLinenumberEnd: 1324
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pop_stack
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1323,2'
          Dst:             pop_stack
    - functionName:    begin_optional
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1287
      functionLinenumberEnd: 1318
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          129
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - avrule_block_create
        - avrule_block_destroy
        - avrule_decl_create
        - push_stack
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1292,16'
          Dst:             avrule_block_create
        - Src:             'module_compiler.c:1293,15'
          Dst:             avrule_decl_create
        - Src:             'module_compiler.c:1302,3'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:1307,6'
          Dst:             push_stack
        - Src:             'module_compiler.c:1315,2'
          Dst:             yyerror
        - Src:             'module_compiler.c:1316,2'
          Dst:             avrule_block_destroy
    - functionName:    push_stack
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1435
      functionLinenumberEnd: 1460
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          131
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - calloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'module_compiler.c:1442,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_compiler.c:1436,21'
          Dst:             calloc
        - Src:             'module_compiler.c:1454,3'
          Dst:             __assert_fail
    - 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:    142
      BranchProfiles:  []
      Callsites:       []
    - functionName:    append_range_trans
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1276
      functionLinenumberEnd: 1284
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1280,2'
          Dst:             __assert_fail
    - functionName:    append_filename_trans
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1264
      functionLinenumberEnd: 1272
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1268,2'
          Dst:             __assert_fail
    - functionName:    append_role_allow
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1252
      functionLinenumberEnd: 1260
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1256,2'
          Dst:             __assert_fail
    - functionName:    append_role_trans
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1240
      functionLinenumberEnd: 1248
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1244,2'
          Dst:             __assert_fail
    - functionName:    append_avrule
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1220
      functionLinenumberEnd: 1236
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1228,2'
          Dst:             __assert_fail
    - functionName:    append_cond_list
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1197
      functionLinenumberEnd: 1217
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          123
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - get_current_cond_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1198,26'
          Dst:             get_current_cond_list
        - Src:             'module_compiler.c:1200,2'
          Dst:             __assert_fail
    - functionName:    get_current_cond_list
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1185
      functionLinenumberEnd: 1189
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_decl_cond_list
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1189,9'
          Dst:             get_decl_cond_list
    - functionName:    is_perm_in_stack
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1145
      functionLinenumberEnd: 1164
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          80
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - is_perm_in_scope_index
        - is_perm_in_stack
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1151,7'
          Dst:             is_perm_in_scope_index
        - Src:             'module_compiler.c:1153,10'
          Dst:             is_perm_in_scope_index
        - Src:             'module_compiler.c:1163,9'
          Dst:             is_perm_in_stack
    - functionName:    is_perm_in_scope
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1167
      functionLinenumberEnd: 1182
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - hashtab_search
        - is_perm_in_stack
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1169,24'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:1175,30'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:1180,9'
          Dst:             is_perm_in_stack
    - functionName:    is_scope_in_stack
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1098
      functionLinenumberEnd: 1117
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          87
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - is_scope_in_stack
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1116,9'
          Dst:             is_scope_in_stack
    - functionName:    is_id_in_scope
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1120
      functionLinenumberEnd: 1128
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hashtab_search
        - is_scope_in_stack
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1122,24'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:1127,9'
          Dst:             is_scope_in_stack
    - functionName:    require_cat
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1062
      functionLinenumberEnd: 1095
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          98
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - cat_datum_destroy
        - cat_datum_init
        - print_error_msg
        - queue_remove
        - require_symbol
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1063,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:1071,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1077,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1080,2'
          Dst:             cat_datum_init
        - Src:             'module_compiler.c:1082,11'
          Dst:             require_symbol
        - Src:             'module_compiler.c:1086,3'
          Dst:             cat_datum_destroy
        - Src:             'module_compiler.c:1089,4'
          Dst:             print_error_msg
    - functionName:    require_symbol
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 701
      functionLinenumberEnd: 716
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          73
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - create_symbol
        - ebitmap_set_bit
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:703,12'
          Dst:             create_symbol
        - Src:             'module_compiler.c:709,6'
          Dst:             ebitmap_set_bit
    - functionName:    print_error_msg
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          48
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - yyerror
        - yyerror2
      functionUses:    7
      BranchProfiles:
        - Branch String:   'module_compiler.c:61,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_compiler.c:63,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:66,3'
          Dst:             yyerror2
        - Src:             'module_compiler.c:69,3'
          Dst:             yyerror2
        - Src:             'module_compiler.c:72,3'
          Dst:             yyerror2
    - functionName:    create_symbol
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          135
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - hashtab_search
        - is_creation_allowed
        - symtab_insert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:155,7'
          Dst:             is_creation_allowed
        - Src:             'module_compiler.c:159,8'
          Dst:             symtab_insert
        - Src:             'module_compiler.c:164,4'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:166,3'
          Dst:             __assert_fail
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - mls_level_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:98,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:99,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    require_sens
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1016
      functionLinenumberEnd: 1059
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          133
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - level_datum_destroy
        - level_datum_init
        - mls_level_destroy
        - mls_level_init
        - print_error_msg
        - queue_remove
        - require_symbol
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1017,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:1025,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1031,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1034,2'
          Dst:             level_datum_init
        - Src:             'module_compiler.c:1038,3'
          Dst:             level_datum_destroy
        - Src:             'module_compiler.c:1040,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1043,2'
          Dst:             mls_level_init
        - Src:             'module_compiler.c:1044,11'
          Dst:             require_symbol
        - Src:             'module_compiler.c:1048,3'
          Dst:             mls_level_destroy
        - Src:             'module_compiler.c:1050,3'
          Dst:             level_datum_destroy
        - Src:             'module_compiler.c:1053,4'
          Dst:             print_error_msg
    - functionName:    require_tunable
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1011
      functionLinenumberEnd: 1012
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - require_bool_tunable
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1012,9'
          Dst:             require_bool_tunable
    - functionName:    require_bool_tunable
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 972
      functionLinenumberEnd: 1003
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          112
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - cond_destroy_bool
        - print_error_msg
        - queue_remove
        - require_symbol
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:973,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:981,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:984,19'
          Dst:             calloc
        - Src:             'module_compiler.c:985,3'
          Dst:             cond_destroy_bool
        - Src:             'module_compiler.c:986,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:992,6'
          Dst:             require_symbol
        - Src:             'module_compiler.c:995,3'
          Dst:             cond_destroy_bool
        - Src:             'module_compiler.c:997,4'
          Dst:             print_error_msg
    - functionName:    require_bool
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1006
      functionLinenumberEnd: 1007
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - require_bool_tunable
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:1007,9'
          Dst:             require_bool_tunable
    - functionName:    require_user
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 946
      functionLinenumberEnd: 969
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - create_user
        - queue_remove
        - user_datum_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:952,8'
          Dst:             queue_remove
        - Src:             'module_compiler.c:956,8'
          Dst:             create_user
        - Src:             'module_compiler.c:964,3'
          Dst:             user_datum_destroy
    - functionName:    create_user
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 530
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          140
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - declare_symbol
        - print_error_msg
        - queue_remove
        - require_symbol
        - strdup
        - user_datum_destroy
        - user_datum_init
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:482,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:491,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:497,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:502,2'
          Dst:             user_datum_init
        - Src:             'module_compiler.c:505,9'
          Dst:             declare_symbol
        - Src:             'module_compiler.c:507,9'
          Dst:             require_symbol
        - Src:             'module_compiler.c:513,10'
          Dst:             strdup
        - Src:             'module_compiler.c:515,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:523,3'
          Dst:             print_error_msg
        - Src:             'module_compiler.c:525,3'
          Dst:             user_datum_destroy
    - functionName:    declare_symbol
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          70
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - create_symbol
        - ebitmap_set_bit
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:196,12'
          Dst:             create_symbol
        - Src:             'module_compiler.c:202,6'
          Dst:             ebitmap_set_bit
    - 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:    98
      BranchProfiles:  []
      Callsites:       []
    - functionName:    require_attribute
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 941
      functionLinenumberEnd: 942
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - require_type_or_attribute
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:942,9'
          Dst:             require_type_or_attribute
    - functionName:    require_type_or_attribute
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 917
      functionLinenumberEnd: 933
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - create_type
        - queue_remove
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:922,8'
          Dst:             queue_remove
        - Src:             'module_compiler.c:926,8'
          Dst:             create_type
    - functionName:    create_type
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 377
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          186
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - declare_symbol
        - hashtab_search
        - print_error_msg
        - queue_remove
        - require_symbol
        - strcmp
        - type_datum_destroy
        - type_datum_init
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:386,15'
          Dst:             queue_remove
        - Src:             'module_compiler.c:388,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:391,6'
          Dst:             strcmp
        - Src:             'module_compiler.c:392,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:399,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:403,2'
          Dst:             type_datum_init
        - Src:             'module_compiler.c:408,9'
          Dst:             declare_symbol
        - Src:             'module_compiler.c:410,9'
          Dst:             require_symbol
        - Src:             'module_compiler.c:417,3'
          Dst:             type_datum_destroy
        - Src:             'module_compiler.c:419,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:421,4'
          Dst:             yyerror2
        - Src:             'module_compiler.c:429,3'
          Dst:             print_error_msg
        - Src:             'module_compiler.c:431,3'
          Dst:             type_datum_destroy
    - 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:    99
      BranchProfiles:  []
      Callsites:       []
    - functionName:    require_type
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 936
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - require_type_or_attribute
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:937,9'
          Dst:             require_type_or_attribute
    - functionName:    require_attribute_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 912
      functionLinenumberEnd: 913
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - require_role_or_attribute
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:913,9'
          Dst:             require_role_or_attribute
    - functionName:    require_role_or_attribute
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 875
      functionLinenumberEnd: 904
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - create_role
        - ebitmap_set_bit
        - queue_remove
        - role_datum_destroy
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:881,8'
          Dst:             queue_remove
        - Src:             'module_compiler.c:885,8'
          Dst:             create_role
        - Src:             'module_compiler.c:893,9'
          Dst:             ebitmap_set_bit
        - Src:             'module_compiler.c:895,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:899,3'
          Dst:             role_datum_destroy
    - functionName:    create_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          197
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - declare_symbol
        - hashtab_search
        - print_error_msg
        - queue_remove
        - require_symbol
        - role_datum_destroy
        - role_datum_init
        - strdup
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:242,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:252,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:258,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:263,2'
          Dst:             role_datum_init
        - Src:             'module_compiler.c:267,9'
          Dst:             declare_symbol
        - Src:             'module_compiler.c:269,9'
          Dst:             require_symbol
        - Src:             'module_compiler.c:275,10'
          Dst:             strdup
        - Src:             'module_compiler.c:277,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:281,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:283,4'
          Dst:             yyerror2
        - Src:             'module_compiler.c:287,4'
          Dst:             role_datum_destroy
        - Src:             'module_compiler.c:295,3'
          Dst:             print_error_msg
        - Src:             'module_compiler.c:297,3'
          Dst:             role_datum_destroy
    - functionName:    require_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 907
      functionLinenumberEnd: 908
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - require_role_or_attribute
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:908,9'
          Dst:             require_role_or_attribute
    - functionName:    class_datum_destroy
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 756
      functionLinenumberEnd: 762
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hashtab_destroy
        - hashtab_map
        - perm_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:758,3'
          Dst:             hashtab_map
        - Src:             'module_compiler.c:758,3'
          Dst:             perm_destroy
        - Src:             'module_compiler.c:759,3'
          Dst:             hashtab_destroy
    - functionName:    require_class
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 765
      functionLinenumberEnd: 872
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         50
      ICount:          336
      EdgeCount:       68
      CyclomaticComplexity: 20
      functionsReached:
        - __assert_fail
        - add_perm_to_class
        - calloc
        - class_datum_destroy
        - hashtab_insert
        - hashtab_search
        - policydb_index_classes
        - print_error_msg
        - queue_remove
        - require_symbol
        - symtab_init
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:766,19'
          Dst:             queue_remove
        - Src:             'module_compiler.c:774,21'
          Dst:             queue_remove
        - Src:             'module_compiler.c:781,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:785,15'
          Dst:             calloc
        - Src:             'module_compiler.c:786,6'
          Dst:             symtab_init
        - Src:             'module_compiler.c:787,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:788,3'
          Dst:             class_datum_destroy
        - Src:             'module_compiler.c:792,6'
          Dst:             require_symbol
        - Src:             'module_compiler.c:795,3'
          Dst:             print_error_msg
        - Src:             'module_compiler.c:797,3'
          Dst:             class_datum_destroy
        - Src:             'module_compiler.c:803,7'
          Dst:             policydb_index_classes
        - Src:             'module_compiler.c:804,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:808,3'
          Dst:             class_datum_destroy
        - Src:             'module_compiler.c:809,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:810,3'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:815,20'
          Dst:             queue_remove
        - Src:             'module_compiler.c:819,10'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:822,8'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:830,5'
          Dst:             yyerror2
        - Src:             'module_compiler.c:837,5'
          Dst:             yyerror2
        - Src:             'module_compiler.c:845,16'
          Dst:             calloc
        - Src:             'module_compiler.c:846,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:851,8'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:854,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:862,7'
          Dst:             add_perm_to_class
        - Src:             'module_compiler.c:863,4'
          Dst:             yyerror
    - functionName:    add_perm_to_class
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 719
      functionLinenumberEnd: 744
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          135
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - ebitmap_init
        - ebitmap_set_bit
        - realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:723,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:724,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:728,24'
          Dst:             realloc
        - Src:             'module_compiler.c:735,4'
          Dst:             ebitmap_init
        - Src:             'module_compiler.c:739,6'
          Dst:             ebitmap_set_bit
    - functionName:    get_local_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 650
      functionLinenumberEnd: 688
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          151
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - hashtab_insert
        - hashtab_search
        - role_datum_destroy
        - role_datum_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:654,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:663,19'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:671,3'
          Dst:             role_datum_init
        - Src:             'module_compiler.c:675,7'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:677,4'
          Dst:             role_datum_destroy
    - functionName:    get_local_type
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          154
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - hashtab_insert
        - hashtab_search
        - type_datum_destroy
        - type_datum_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:607,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:614,18'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:621,3'
          Dst:             type_datum_init
        - Src:             'module_compiler.c:625,7'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:627,4'
          Dst:             type_datum_destroy
    - functionName:    user_implicit_bounds
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          84
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_search
        - strdup
        - strrchr
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:455,10'
          Dst:             strrchr
        - Src:             'module_compiler.c:459,14'
          Dst:             strdup
        - Src:             'module_compiler.c:461,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:466,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:468,3'
          Dst:             yyerror2
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    declare_user
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         27
      ICount:          183
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - create_user
        - hashtab_insert
        - hashtab_search
        - user_datum_destroy
        - user_datum_init
        - user_implicit_bounds
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:540,8'
          Dst:             create_user
        - Src:             'module_compiler.c:546,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:555,14'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:560,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:564,4'
          Dst:             user_datum_init
        - Src:             'module_compiler.c:569,10'
          Dst:             user_implicit_bounds
        - Src:             'module_compiler.c:572,4'
          Dst:             user_datum_destroy
        - Src:             'module_compiler.c:576,10'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:578,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:580,4'
          Dst:             user_datum_destroy
        - Src:             'module_compiler.c:587,4'
          Dst:             user_datum_destroy
    - functionName:    declare_type
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 447
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - create_type
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:441,12'
          Dst:             create_type
    - functionName:    role_implicit_bounds
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          84
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_search
        - strdup
        - strrchr
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:215,10'
          Dst:             strrchr
        - Src:             'module_compiler.c:219,14'
          Dst:             strdup
        - Src:             'module_compiler.c:221,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:226,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:228,3'
          Dst:             yyerror2
    - functionName:    declare_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 305
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         32
      ICount:          223
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - create_role
        - ebitmap_set_bit
        - hashtab_insert
        - hashtab_search
        - role_datum_destroy
        - role_datum_init
        - role_implicit_bounds
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:312,8'
          Dst:             create_role
        - Src:             'module_compiler.c:318,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:327,14'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:332,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:336,4'
          Dst:             role_datum_init
        - Src:             'module_compiler.c:342,10'
          Dst:             role_implicit_bounds
        - Src:             'module_compiler.c:345,4'
          Dst:             role_datum_destroy
        - Src:             'module_compiler.c:349,10'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:351,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:353,4'
          Dst:             role_datum_destroy
        - Src:             'module_compiler.c:360,4'
          Dst:             role_datum_destroy
        - Src:             'module_compiler.c:366,10'
          Dst:             ebitmap_set_bit
        - Src:             'module_compiler.c:368,4'
          Dst:             yyerror
    - functionName:    define_policy
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          144
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - pop_stack
        - push_stack
        - queue_remove
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:82,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:88,17'
          Dst:             queue_remove
        - Src:             'module_compiler.c:91,17'
          Dst:             queue_remove
        - Src:             'module_compiler.c:93,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:99,9'
          Dst:             queue_remove
        - Src:             'module_compiler.c:100,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:107,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:118,3'
          Dst:             pop_stack
        - Src:             'module_compiler.c:120,6'
          Dst:             push_stack
    - functionName:    read_source_policy
      functionSourceFile: '/src/selinux/checkpolicy/parse_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          135
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - fclose
        - fopen64
        - fprintf
        - init_parser
        - queue_create
        - queue_destroy
        - rewind
        - strdup
        - strerror
        - yylex_destroy
        - yyparse
        - yyrestart
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'parse_util.c:39,9'
          Dst:             fopen64
        - Src:             'parse_util.c:41,77'
          Dst:             __errno_location
        - Src:             'parse_util.c:41,68'
          Dst:             strerror
        - Src:             'parse_util.c:41,3'
          Dst:             fprintf
        - Src:             'parse_util.c:45,13'
          Dst:             queue_create
        - Src:             'parse_util.c:47,3'
          Dst:             fprintf
        - Src:             'parse_util.c:53,20'
          Dst:             strdup
        - Src:             'parse_util.c:55,3'
          Dst:             fprintf
        - Src:             'parse_util.c:59,2'
          Dst:             init_parser
        - Src:             'parse_util.c:60,6'
          Dst:             yyparse
        - Src:             'parse_util.c:61,3'
          Dst:             fprintf
        - Src:             'parse_util.c:66,2'
          Dst:             rewind
        - Src:             'parse_util.c:67,2'
          Dst:             init_parser
        - Src:             'parse_util.c:68,2'
          Dst:             yyrestart
        - Src:             'parse_util.c:69,6'
          Dst:             yyparse
        - Src:             'parse_util.c:70,3'
          Dst:             fprintf
        - Src:             'parse_util.c:79,2'
          Dst:             queue_destroy
        - Src:             'parse_util.c:80,2'
          Dst:             fclose
        - Src:             'parse_util.c:81,2'
          Dst:             yylex_destroy
    - functionName:    strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_range_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:142,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:143,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - mls_level_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:98,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:99,2'
          Dst:             mls_level_init
    - functionName:    mls_context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_range_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:42,2'
          Dst:             mls_range_init
    - functionName:    mls_range_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:148,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:149,2'
          Dst:             mls_level_destroy
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_init
        - mls_range_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:112,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:113,2'
          Dst:             mls_context_init
    - functionName:    parse_categories
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4325
      functionLinenumberEnd: 4382
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          207
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - ebitmap_get_bit
        - ebitmap_set_bit
        - hashtab_search
        - id_has_dot
        - policydb_index_others
        - strchr
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4329,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:4331,18'
          Dst:             strchr
        - Src:             'policy_define.c:4335,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4339,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4343,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4346,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4352,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4356,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4359,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4366,8'
          Dst:             ebitmap_get_bit
        - Src:             'policy_define.c:4368,4'
          Dst:             policydb_index_others
        - Src:             'policy_define.c:4369,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4375,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:4376,4'
          Dst:             yyerror
    - functionName:    id_has_dot
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strchr
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:154,6'
          Dst:             strchr
    - 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:    19
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyerror2
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - vsnprintf
        - yyerror
      functionUses:    192
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:95,2'
          Dst:             vsnprintf
        - Src:             'policy_define.c:96,2'
          Dst:             yyerror
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_semantic_cats_merge
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4386
      functionLinenumberEnd: 4404
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - mls_semantic_cat_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4394,3'
          Dst:             mls_semantic_cat_init
    - functionName:    role_val_to_name_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3157
      functionLinenumberEnd: 3169
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          42
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avrule_xperm_setrangebits
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2294
      functionLinenumberEnd: 2312
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          209
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avrule_omit_xperms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2083
      functionLinenumberEnd: 2128
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          165
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2086,9'
          Dst:             calloc
        - Src:             'policy_define.c:2104,10'
          Dst:             calloc
        - Src:             'policy_define.c:2126,2'
          Dst:             yyerror
    - functionName:    avrule_merge_xperms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2010
      functionLinenumberEnd: 2026
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avrule_sort_xperms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1962
      functionLinenumberEnd: 2007
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         32
      ICount:          186
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2005,2'
          Dst:             yyerror
    - functionName:    avrule_read_xperm_ranges
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2029
      functionLinenumberEnd: 2079
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          174
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - queue_remove
        - strcmp
        - strtoul
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2037,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2038,7'
          Dst:             strcmp
        - Src:             'policy_define.c:2042,14'
          Dst:             strcmp
        - Src:             'policy_define.c:2045,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:2046,31'
          Dst:             strtoul
        - Src:             'policy_define.c:2048,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:2066,33'
          Dst:             strtoul
        - Src:             'policy_define.c:2077,2'
          Dst:             yyerror
    - functionName:    avrule_xperm_func
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2417
      functionLinenumberEnd: 2463
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          184
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - avrule_xperm_setrangebits
        - avrule_xperms_used
        - calloc
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2423,11'
          Dst:             calloc
        - Src:             'policy_define.c:2425,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2450,3'
          Dst:             avrule_xperm_setrangebits
        - Src:             'policy_define.c:2456,6'
          Dst:             avrule_xperms_used
    - functionName:    avrule_xperms_used
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2315
      functionLinenumberEnd: 2323
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          43
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    xperms_for_each_bit
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2466
      functionLinenumberEnd: 2476
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avrule_xperm_partialdriver
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2337
      functionLinenumberEnd: 2371
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          195
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - avrule_xperms_used
        - calloc
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2342,11'
          Dst:             calloc
        - Src:             'policy_define.c:2344,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2363,6'
          Dst:             avrule_xperms_used
    - functionName:    avrule_cpy
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2479
      functionLinenumberEnd: 2525
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          159
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - avrule_init
        - calloc
        - class_perm_node_init
        - strdup
        - type_set_cpy
        - yyerror
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2484,2'
          Dst:             avrule_init
        - Src:             'policy_define.c:2487,6'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:2488,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2491,6'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:2492,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2496,26'
          Dst:             strdup
        - Src:             'policy_define.c:2498,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2506,16'
          Dst:             calloc
        - Src:             'policy_define.c:2508,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2511,3'
          Dst:             class_perm_node_init
    - functionName:    avrule_ioctl_completedriver
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2375
      functionLinenumberEnd: 2413
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          130
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - avrule_xperm_setrangebits
        - avrule_xperms_used
        - calloc
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2379,11'
          Dst:             calloc
        - Src:             'policy_define.c:2381,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2401,4'
          Dst:             avrule_xperm_setrangebits
        - Src:             'policy_define.c:2404,6'
          Dst:             avrule_xperms_used
    - functionName:    avrule_xperm_ranges
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2131
      functionLinenumberEnd: 2155
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          75
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - avrule_merge_xperms
        - avrule_omit_xperms
        - avrule_read_xperm_ranges
        - avrule_sort_xperms
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2136,6'
          Dst:             avrule_read_xperm_ranges
        - Src:             'policy_define.c:2139,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2144,6'
          Dst:             avrule_sort_xperms
        - Src:             'policy_define.c:2146,2'
          Dst:             avrule_merge_xperms
        - Src:             'policy_define.c:2149,7'
          Dst:             avrule_omit_xperms
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:81,6'
          Dst:             ebitmap_cpy
    - functionName:    define_range_trans
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6143
      functionLinenumberEnd: 6257
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         73
      ICount:          383
      EdgeCount:       99
      CyclomaticComplexity: 28
      functionsReached:
        - append_range_trans
        - ebitmap_set_bit
        - hashtab_search
        - mls_semantic_level_cpy
        - parse_semantic_categories
        - queue_remove
        - range_trans_rule_destroy
        - range_trans_rule_init
        - read_classes
        - set_types
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:6151,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6156,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:6158,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:6161,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:6163,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:6166,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:6169,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:6179,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6182,2'
          Dst:             range_trans_rule_init
        - Src:             'policy_define.c:6184,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:6185,7'
          Dst:             set_types
        - Src:             'policy_define.c:6189,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:6190,7'
          Dst:             set_types
        - Src:             'policy_define.c:6195,7'
          Dst:             read_classes
        - Src:             'policy_define.c:6198,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:6201,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6206,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:6207,4'
          Dst:             yyerror
        - Src:             'policy_define.c:6212,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:6214,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6218,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:6220,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6229,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:6230,8'
          Dst:             parse_semantic_categories
        - Src:             'policy_define.c:6238,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:6243,7'
          Dst:             mls_semantic_level_cpy
        - Src:             'policy_define.c:6245,4'
          Dst:             yyerror
        - Src:             'policy_define.c:6250,2'
          Dst:             append_range_trans
        - Src:             'policy_define.c:6254,2'
          Dst:             range_trans_rule_destroy
    - functionName:    set_types
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1655
      functionLinenumberEnd: 1714
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          178
      EdgeCount:       36
      CyclomaticComplexity: 12
      functionsReached:
        - ebitmap_set_bit
        - hashtab_search
        - is_id_in_scope
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1658,6'
          Dst:             strcmp
        - Src:             'policy_define.c:1661,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1670,6'
          Dst:             strcmp
        - Src:             'policy_define.c:1673,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1682,6'
          Dst:             strcmp
        - Src:             'policy_define.c:1688,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1689,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1693,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1695,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1701,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1704,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1711,2'
          Dst:             yyerror
    - functionName:    read_classes
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 389
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          83
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - ebitmap_set_bit
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:393,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:394,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:395,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:399,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:401,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:406,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:407,4'
          Dst:             yyerror
    - functionName:    parse_semantic_categories
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4430
      functionLinenumberEnd: 4481
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          151
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - hashtab_search
        - id_has_dot
        - mls_semantic_cat_init
        - strchr
        - yyerror
        - yyerror2
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4435,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:4437,18'
          Dst:             strchr
        - Src:             'policy_define.c:4441,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4445,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4450,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4453,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4458,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4461,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4469,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4473,2'
          Dst:             mls_semantic_cat_init
    - functionName:    define_genfs_context_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5989
      functionLinenumberEnd: 6135
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         79
      ICount:          518
      EdgeCount:       103
      CyclomaticComplexity: 26
      functionsReached:
        - calloc
        - context_destroy
        - ebitmap_get_bit
        - hashtab_search
        - parse_security_context
        - queue_remove
        - realloc
        - strcmp
        - strlen
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policy_define.c:6066,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:5996,17'
          Dst:             ebitmap_get_bit
        - Src:             'policy_define.c:5999,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6005,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:6007,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:6008,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:6014,7'
          Dst:             strcmp
        - Src:             'policy_define.c:6018,16'
          Dst:             strcmp
        - Src:             'policy_define.c:6019,14'
          Dst:             calloc
        - Src:             'policy_define.c:6021,4'
          Dst:             yyerror
        - Src:             'policy_define.c:6036,9'
          Dst:             calloc
        - Src:             'policy_define.c:6038,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6042,25'
          Dst:             queue_remove
        - Src:             'policy_define.c:6047,21'
          Dst:             strlen
        - Src:             'policy_define.c:6048,18'
          Dst:             realloc
        - Src:             'policy_define.c:6050,4'
          Dst:             yyerror
        - Src:             'policy_define.c:6059,18'
          Dst:             queue_remove
        - Src:             'policy_define.c:6063,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6089,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6093,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:6096,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6102,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:6108,8'
          Dst:             strcmp
        - Src:             'policy_define.c:6111,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6115,9'
          Dst:             strlen
        - Src:             'policy_define.c:6116,10'
          Dst:             strlen
        - Src:             'policy_define.c:6130,2'
          Dst:             context_destroy
    - functionName:    parse_security_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4628
      functionLinenumberEnd: 4794
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         69
      ICount:          460
      EdgeCount:       95
      CyclomaticComplexity: 28
      functionsReached:
        - context_destroy
        - context_init
        - ebitmap_cpy
        - hashtab_search
        - is_id_in_scope
        - parse_categories
        - policydb_context_isvalid
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    38
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4637,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4639,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4641,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4644,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:4647,18'
          Dst:             queue_remove
        - Src:             'policy_define.c:4650,10'
          Dst:             queue_remove
        - Src:             'policy_define.c:4661,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4665,2'
          Dst:             context_init
        - Src:             'policy_define.c:4668,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:4670,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4673,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4674,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4678,30'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4681,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4691,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:4693,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4696,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4697,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4701,26'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4704,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4714,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:4716,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4719,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4720,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4724,30'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4727,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4738,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4740,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4747,8'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4750,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:4758,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4759,9'
          Dst:             parse_categories
        - Src:             'policy_define.c:4768,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4775,8'
          Dst:             ebitmap_cpy
        - Src:             'policy_define.c:4778,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4784,7'
          Dst:             policydb_context_isvalid
        - Src:             'policy_define.c:4785,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4791,2'
          Dst:             context_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_destroy
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:135,2'
          Dst:             mls_context_destroy
    - functionName:    context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    define_genfs_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6138
      functionLinenumberEnd: 6139
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - define_genfs_context_helper
        - queue_remove
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:6139,37'
          Dst:             queue_remove
        - Src:             'policy_define.c:6139,9'
          Dst:             define_genfs_context_helper
    - functionName:    define_fs_use
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5938
      functionLinenumberEnd: 5986
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          156
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - calloc
        - context_destroy
        - parse_security_context
        - queue_remove
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5942,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5947,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5948,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5952,9'
          Dst:             calloc
        - Src:             'policy_define.c:5954,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5958,25'
          Dst:             queue_remove
        - Src:             'policy_define.c:5964,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5973,8'
          Dst:             strcmp
        - Src:             'policy_define.c:5974,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5976,4'
          Dst:             context_destroy
    - functionName:    ipv6_apply_mask
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5745
      functionLinenumberEnd: 5750
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          40
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ipv6_cidr_bits_to_mask
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5725
      functionLinenumberEnd: 5742
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5734,25'
          Dst:             __bswap_32
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    define_ipv6_cidr_node_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5860
      functionLinenumberEnd: 5935
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         31
      ICount:          208
      EdgeCount:       43
      CyclomaticComplexity: 14
      functionsReached:
        - __errno_location
        - calloc
        - inet_pton
        - insert_ipv6_node
        - ipv6_apply_mask
        - ipv6_cidr_bits_to_mask
        - ipv6_has_host_bits_set
        - parse_security_context
        - queue_remove
        - strchr
        - strtoul
        - yyerror
        - yyerror2
        - yywarn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5868,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5873,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5874,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5878,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5880,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5884,10'
          Dst:             strchr
        - Src:             'policy_define.c:5886,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5892,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5894,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5899,2'
          Dst:             __errno_location
        - Src:             'policy_define.c:5900,14'
          Dst:             strtoul
        - Src:             'policy_define.c:5901,6'
          Dst:             __errno_location
        - Src:             'policy_define.c:5902,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5908,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5911,2'
          Dst:             ipv6_cidr_bits_to_mask
        - Src:             'policy_define.c:5913,6'
          Dst:             ipv6_has_host_bits_set
        - Src:             'policy_define.c:5914,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5919,9'
          Dst:             calloc
        - Src:             'policy_define.c:5921,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5925,2'
          Dst:             ipv6_apply_mask
        - Src:             'policy_define.c:5929,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5934,9'
          Dst:             insert_ipv6_node
    - functionName:    inet_pton
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ipv6_has_host_bits_set
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5712
      functionLinenumberEnd: 5722
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    insert_ipv6_node
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5753
      functionLinenumberEnd: 5783
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          153
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - context_destroy
        - inet_ntop
        - memcmp
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5761,7'
          Dst:             memcmp
        - Src:             'policy_define.c:5762,7'
          Dst:             memcmp
        - Src:             'policy_define.c:5764,6'
          Dst:             inet_ntop
        - Src:             'policy_define.c:5765,6'
          Dst:             inet_ntop
        - Src:             'policy_define.c:5763,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5766,4'
          Dst:             context_destroy
        - Src:             'policy_define.c:5771,7'
          Dst:             memcmp
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    inet_ntop
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    19
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ipv6_is_mask_contiguous
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5691
      functionLinenumberEnd: 5709
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          112
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    define_ipv6_node_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5786
      functionLinenumberEnd: 5857
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         26
      ICount:          179
      EdgeCount:       36
      CyclomaticComplexity: 12
      functionsReached:
        - calloc
        - inet_pton
        - insert_ipv6_node
        - ipv6_has_host_bits_set
        - ipv6_is_mask_contiguous
        - parse_security_context
        - queue_remove
        - yyerror
        - yyerror2
        - yywarn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5793,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5798,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5799,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5800,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5804,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5806,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5810,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5812,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5819,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5821,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5825,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5827,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5834,7'
          Dst:             ipv6_is_mask_contiguous
        - Src:             'policy_define.c:5835,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5838,6'
          Dst:             ipv6_has_host_bits_set
        - Src:             'policy_define.c:5839,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5842,9'
          Dst:             calloc
        - Src:             'policy_define.c:5844,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5851,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5856,9'
          Dst:             insert_ipv6_node
    - functionName:    define_ipv4_cidr_node_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5612
      functionLinenumberEnd: 5688
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         31
      ICount:          219
      EdgeCount:       43
      CyclomaticComplexity: 14
      functionsReached:
        - __bswap_32
        - __errno_location
        - calloc
        - inet_pton
        - insert_ipv4_node
        - parse_security_context
        - queue_remove
        - strchr
        - strtoul
        - yyerror
        - yyerror2
        - yywarn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5621,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5626,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5627,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5631,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5633,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5637,10'
          Dst:             strchr
        - Src:             'policy_define.c:5639,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5645,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5647,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5652,2'
          Dst:             __errno_location
        - Src:             'policy_define.c:5653,14'
          Dst:             strtoul
        - Src:             'policy_define.c:5654,6'
          Dst:             __errno_location
        - Src:             'policy_define.c:5655,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5663,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5667,10'
          Dst:             __bswap_32
        - Src:             'policy_define.c:5671,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5673,9'
          Dst:             calloc
        - Src:             'policy_define.c:5675,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5682,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5687,9'
          Dst:             insert_ipv4_node
    - functionName:    insert_ipv4_node
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5506
      functionLinenumberEnd: 5536
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          156
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - context_destroy
        - inet_ntop
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5517,6'
          Dst:             inet_ntop
        - Src:             'policy_define.c:5518,6'
          Dst:             inet_ntop
        - Src:             'policy_define.c:5516,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5519,4'
          Dst:             context_destroy
    - functionName:    define_ipv4_node_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5539
      functionLinenumberEnd: 5609
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         28
      ICount:          200
      EdgeCount:       39
      CyclomaticComplexity: 13
      functionsReached:
        - __bswap_32
        - calloc
        - inet_pton
        - insert_ipv4_node
        - parse_security_context
        - queue_remove
        - yyerror
        - yyerror2
        - yywarn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5546,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5551,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5552,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5553,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5557,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5559,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5563,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5565,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5571,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5573,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5577,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5579,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5586,29'
          Dst:             __bswap_32
        - Src:             'policy_define.c:5586,58'
          Dst:             __bswap_32
        - Src:             'policy_define.c:5587,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5591,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5594,9'
          Dst:             calloc
        - Src:             'policy_define.c:5596,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5603,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5608,9'
          Dst:             insert_ipv4_node
    - functionName:    define_netif_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5449
      functionLinenumberEnd: 5503
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         22
      ICount:          177
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
        - context_destroy
        - parse_security_context
        - queue_remove
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5453,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5458,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5459,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5460,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5464,9'
          Dst:             calloc
        - Src:             'policy_define.c:5466,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5470,25'
          Dst:             queue_remove
        - Src:             'policy_define.c:5475,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5480,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5481,3'
          Dst:             context_destroy
        - Src:             'policy_define.c:5489,8'
          Dst:             strcmp
        - Src:             'policy_define.c:5490,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5492,4'
          Dst:             context_destroy
        - Src:             'policy_define.c:5493,4'
          Dst:             context_destroy
    - functionName:    define_ibendport_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5370
      functionLinenumberEnd: 5446
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         34
      ICount:          234
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - calloc
        - parse_security_context
        - queue_remove
        - strcmp
        - strlen
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5376,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5381,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:5383,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5388,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5392,9'
          Dst:             calloc
        - Src:             'policy_define.c:5394,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5398,31'
          Dst:             queue_remove
        - Src:             'policy_define.c:5400,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5405,6'
          Dst:             strlen
        - Src:             'policy_define.c:5406,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5413,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5426,8'
          Dst:             strcmp
        - Src:             'policy_define.c:5428,4'
          Dst:             yyerror2
    - functionName:    define_ibpkey_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5265
      functionLinenumberEnd: 5367
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         53
      ICount:          333
      EdgeCount:       73
      CyclomaticComplexity: 22
      functionsReached:
        - calloc
        - inet_pton
        - parse_security_context
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5272,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5277,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:5279,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5283,9'
          Dst:             calloc
        - Src:             'policy_define.c:5285,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5289,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5291,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5296,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5299,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5306,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5312,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5324,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5329,7'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5343,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5350,4'
          Dst:             yyerror2
    - functionName:    define_port_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5174
      functionLinenumberEnd: 5262
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         60
      ICount:          341
      EdgeCount:       81
      CyclomaticComplexity: 23
      functionsReached:
        - calloc
        - parse_security_context
        - queue_remove
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5180,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5185,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:5187,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5191,9'
          Dst:             calloc
        - Src:             'policy_define.c:5193,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5197,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:5202,7'
          Dst:             strcmp
        - Src:             'policy_define.c:5202,35'
          Dst:             strcmp
        - Src:             'policy_define.c:5204,14'
          Dst:             strcmp
        - Src:             'policy_define.c:5204,42'
          Dst:             strcmp
        - Src:             'policy_define.c:5206,14'
          Dst:             strcmp
        - Src:             'policy_define.c:5206,43'
          Dst:             strcmp
        - Src:             'policy_define.c:5208,14'
          Dst:             strcmp
        - Src:             'policy_define.c:5208,43'
          Dst:             strcmp
        - Src:             'policy_define.c:5211,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5220,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5224,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5239,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5244,4'
          Dst:             yyerror2
    - functionName:    define_devicetree_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5120
      functionLinenumberEnd: 5171
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          159
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
        - parse_security_context
        - queue_remove
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5124,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5129,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5130,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5134,9'
          Dst:             calloc
        - Src:             'policy_define.c:5136,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5140,25'
          Dst:             queue_remove
        - Src:             'policy_define.c:5146,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5154,7'
          Dst:             strcmp
        - Src:             'policy_define.c:5155,4'
          Dst:             yyerror2
    - functionName:    define_pcidevice_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5069
      functionLinenumberEnd: 5117
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          137
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - calloc
        - parse_security_context
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5073,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5078,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5082,9'
          Dst:             calloc
        - Src:             'policy_define.c:5084,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5090,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5101,4'
          Dst:             yyerror2
    - functionName:    define_ioport_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5009
      functionLinenumberEnd: 5066
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          185
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - calloc
        - parse_security_context
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:5013,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5018,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5022,9'
          Dst:             calloc
        - Src:             'policy_define.c:5024,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5032,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5037,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5049,4'
          Dst:             yyerror2
    - functionName:    define_iomem_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4949
      functionLinenumberEnd: 5006
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          181
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - calloc
        - parse_security_context
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4953,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4958,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4962,9'
          Dst:             calloc
        - Src:             'policy_define.c:4964,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4972,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4977,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4989,4'
          Dst:             yyerror2
    - functionName:    define_pirq_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4899
      functionLinenumberEnd: 4946
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          137
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - calloc
        - parse_security_context
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4903,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4908,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4912,9'
          Dst:             calloc
        - Src:             'policy_define.c:4914,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4920,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4931,4'
          Dst:             yyerror2
    - functionName:    define_fs_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4839
      functionLinenumberEnd: 4896
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          184
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
        - context_destroy
        - parse_security_context
        - sprintf
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4843,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4848,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4849,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4853,9'
          Dst:             calloc
        - Src:             'policy_define.c:4855,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4861,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4865,2'
          Dst:             sprintf
        - Src:             'policy_define.c:4867,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4872,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4873,3'
          Dst:             context_destroy
        - Src:             'policy_define.c:4881,8'
          Dst:             strcmp
        - Src:             'policy_define.c:4882,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4884,4'
          Dst:             context_destroy
        - Src:             'policy_define.c:4885,4'
          Dst:             context_destroy
    - functionName:    sprintf
      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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    define_initial_sid_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4797
      functionLinenumberEnd: 4836
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         21
      ICount:          127
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - parse_security_context
        - queue_remove
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4802,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4804,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4808,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:4810,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4815,8'
          Dst:             strcmp
        - Src:             'policy_define.c:4820,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4825,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4832,6'
          Dst:             parse_security_context
    - functionName:    mls_add_or_check_level
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4407
      functionLinenumberEnd: 4426
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          74
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - mls_semantic_cats_merge
        - mls_semantic_level_cpy
        - yyerror
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4409,7'
          Dst:             mls_semantic_level_cpy
        - Src:             'policy_define.c:4410,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4419,7'
          Dst:             mls_semantic_cats_merge
        - Src:             'policy_define.c:4420,4'
          Dst:             yyerror
    - functionName:    set_user_roles
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4288
      functionLinenumberEnd: 4322
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          103
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_set_bit
        - hashtab_search
        - is_id_in_scope
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4291,6'
          Dst:             strcmp
        - Src:             'policy_define.c:4293,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4297,6'
          Dst:             strcmp
        - Src:             'policy_define.c:4299,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4303,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4304,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4308,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4310,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4316,6'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:4320,2'
          Dst:             yyerror
    - functionName:    define_user
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4484
      functionLinenumberEnd: 4625
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         78
      ICount:          448
      EdgeCount:       107
      CyclomaticComplexity: 31
      functionsReached:
        - declare_user
        - hashtab_search
        - mls_add_or_check_level
        - mls_semantic_level_cpy
        - parse_semantic_categories
        - queue_head
        - queue_remove
        - set_user_roles
        - strdup
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4492,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4495,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4497,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:4500,18'
          Dst:             queue_remove
        - Src:             'policy_define.c:4503,10'
          Dst:             queue_remove
        - Src:             'policy_define.c:4512,13'
          Dst:             queue_head
        - Src:             'policy_define.c:4514,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4518,7'
          Dst:             strdup
        - Src:             'policy_define.c:4520,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4524,18'
          Dst:             declare_user
        - Src:             'policy_define.c:4529,15'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4532,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:4533,7'
          Dst:             set_user_roles
        - Src:             'policy_define.c:4538,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4540,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4545,7'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4548,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4557,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4559,8'
          Dst:             parse_semantic_categories
        - Src:             'policy_define.c:4567,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4571,8'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4574,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:4583,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4585,9'
          Dst:             parse_semantic_categories
        - Src:             'policy_define.c:4593,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:4599,8'
          Dst:             mls_semantic_level_cpy
        - Src:             'policy_define.c:4601,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4607,8'
          Dst:             mls_add_or_check_level
        - Src:             'policy_define.c:4609,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4612,8'
          Dst:             mls_add_or_check_level
        - Src:             'policy_define.c:4614,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4617,8'
          Dst:             mls_add_or_check_level
        - Src:             'policy_define.c:4619,5'
          Dst:             yyerror
    - functionName:    define_cond_expr
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4179
      functionLinenumberEnd: 4285
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          311
      EdgeCount:       68
      CyclomaticComplexity: 17
      functionsReached:
        - calloc
        - cond_expr_destroy
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    8
      BranchProfiles:
        - Branch String:   'policy_define.c:4203,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:4187,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4195,9'
          Dst:             calloc
        - Src:             'policy_define.c:4197,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4212,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4230,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4244,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4246,4'
          Dst:             cond_expr_destroy
        - Src:             'policy_define.c:4253,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4255,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4260,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4261,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4267,29'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4271,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4281,3'
          Dst:             yyerror
    - functionName:    define_conditional
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4065
      functionLinenumberEnd: 4176
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          268
      EdgeCount:       60
      CyclomaticComplexity: 15
      functionsReached:
        - append_cond_list
        - cond_expr_destroy
        - cond_node_destroy
        - cond_normalize_expr
        - define_cond_expr
        - get_current_cond_list
        - yyerror
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policy_define.c:4097,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:4073,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4079,4'
          Dst:             cond_expr_destroy
        - Src:             'policy_define.c:4085,10'
          Dst:             define_cond_expr
        - Src:             'policy_define.c:4087,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4100,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4111,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4119,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4134,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4139,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4143,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4154,6'
          Dst:             cond_normalize_expr
        - Src:             'policy_define.c:4155,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4160,11'
          Dst:             get_current_cond_list
        - Src:             'policy_define.c:4165,2'
          Dst:             append_cond_list
        - Src:             'policy_define.c:4173,2'
          Dst:             cond_node_destroy
    - functionName:    define_cexpr
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3912
      functionLinenumberEnd: 4062
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         72
      ICount:          462
      EdgeCount:       95
      CyclomaticComplexity: 25
      functionsReached:
        - constraint_expr_destroy
        - constraint_expr_init
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_set_bit
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - set_types
        - yyerror
        - yyerror2
      functionUses:    27
      BranchProfiles:
        - Branch String:   'policy_define.c:3937,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:3923,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:3930,6'
          Dst:             constraint_expr_init
        - Src:             'policy_define.c:3931,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3946,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3947,4'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:3961,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3962,4'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:3974,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3975,4'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:3988,3'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3989,24'
          Dst:             queue_remove
        - Src:             'policy_define.c:3991,10'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3992,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:3995,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:3999,26'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4005,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:4007,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4012,10'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4013,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:4015,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4020,26'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4026,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:4027,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4033,9'
          Dst:             set_types
        - Src:             'policy_define.c:4034,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4039,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4040,5'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4044,8'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:4045,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4046,5'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:4048,5'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4053,3'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:4059,2'
          Dst:             yyerror
        - Src:             'policy_define.c:4060,2'
          Dst:             constraint_expr_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    define_validatetrans
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3807
      functionLinenumberEnd: 3909
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          269
      EdgeCount:       61
      CyclomaticComplexity: 15
      functionsReached:
        - calloc
        - constraint_expr_clone
        - constraint_expr_destroy
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_set_bit
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policy_define.c:3826,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:3817,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3822,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3829,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3836,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3844,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3850,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3855,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3859,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3860,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3861,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3866,25'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3869,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3873,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3874,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3879,10'
          Dst:             calloc
        - Src:             'policy_define.c:3881,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3889,17'
          Dst:             constraint_expr_clone
        - Src:             'policy_define.c:3899,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3904,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3906,3'
          Dst:             constraint_expr_destroy
    - functionName:    constraint_expr_clone
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3601
      functionLinenumberEnd: 3636
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          155
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - constraint_expr_destroy
        - constraint_expr_init
        - ebitmap_cpy
        - type_set_cpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3608,7'
          Dst:             constraint_expr_init
        - Src:             'policy_define.c:3622,9'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:3626,9'
          Dst:             ebitmap_cpy
        - Src:             'policy_define.c:3634,2'
          Dst:             constraint_expr_destroy
    - functionName:    define_constraint
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3639
      functionLinenumberEnd: 3804
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         89
      ICount:          536
      EdgeCount:       117
      CyclomaticComplexity: 30
      functionsReached:
        - calloc
        - constraint_expr_clone
        - constraint_expr_destroy
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - strcmp
        - yyerror
        - yyerror2
        - yywarn
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policy_define.c:3663,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:3652,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3654,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3659,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3666,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3673,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3681,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3685,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3691,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3696,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3700,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3701,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3702,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3707,25'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3710,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3714,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3715,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3719,10'
          Dst:             calloc
        - Src:             'policy_define.c:3721,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3729,17'
          Dst:             constraint_expr_clone
        - Src:             'policy_define.c:3732,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3744,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3745,3'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3745,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3749,8'
          Dst:             strcmp
        - Src:             'policy_define.c:3754,8'
          Dst:             strcmp
        - Src:             'policy_define.c:3757,6'
          Dst:             yywarn
        - Src:             'policy_define.c:3759,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:3766,25'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3775,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3783,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:3745,3'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3794,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3799,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3801,3'
          Dst:             constraint_expr_destroy
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    define_filename_trans
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3418
      functionLinenumberEnd: 3598
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         93
      ICount:          577
      EdgeCount:       128
      CyclomaticComplexity: 37
      functionsReached:
        - append_filename_trans
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - filename_trans_rule_init
        - hashtab_search
        - is_id_in_scope
        - policydb_filetrans_insert
        - queue_remove
        - read_classes
        - set_types
        - strcmp
        - strdup
        - type_set_cpy
        - type_set_destroy
        - type_set_expand
        - type_set_init
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3432,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3435,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3438,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3441,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:3444,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:3449,2'
          Dst:             type_set_init
        - Src:             'policy_define.c:3450,2'
          Dst:             type_set_init
        - Src:             'policy_define.c:3451,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3452,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3453,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3456,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3457,7'
          Dst:             set_types
        - Src:             'policy_define.c:3463,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3464,7'
          Dst:             strcmp
        - Src:             'policy_define.c:3467,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3473,7'
          Dst:             set_types
        - Src:             'policy_define.c:3477,6'
          Dst:             read_classes
        - Src:             'policy_define.c:3480,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3482,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3485,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3486,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3490,13'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3492,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3499,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:3501,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3508,6'
          Dst:             type_set_expand
        - Src:             'policy_define.c:3511,6'
          Dst:             type_set_expand
        - Src:             'policy_define.c:3514,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3514,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3515,3'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3515,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3516,4'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3516,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3517,10'
          Dst:             policydb_filetrans_insert
        - Src:             'policy_define.c:3523,7'
          Dst:             yyerror2
        - Src:             'policy_define.c:3530,6'
          Dst:             yyerror
        - Src:             'policy_define.c:3516,4'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3535,10'
          Dst:             policydb_filetrans_insert
        - Src:             'policy_define.c:3541,7'
          Dst:             yyerror2
        - Src:             'policy_define.c:3548,6'
          Dst:             yyerror
        - Src:             'policy_define.c:3515,3'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3557,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3560,3'
          Dst:             filename_trans_rule_init
        - Src:             'policy_define.c:3561,3'
          Dst:             append_filename_trans
        - Src:             'policy_define.c:3563,15'
          Dst:             strdup
        - Src:             'policy_define.c:3565,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3568,7'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:3569,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3572,7'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:3573,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3514,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3582,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3583,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3584,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3585,2'
          Dst:             type_set_destroy
        - Src:             'policy_define.c:3586,2'
          Dst:             type_set_destroy
        - Src:             'policy_define.c:3592,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3593,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3594,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3595,2'
          Dst:             type_set_destroy
        - Src:             'policy_define.c:3596,2'
          Dst:             type_set_destroy
    - functionName:    define_cond_filename_trans
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3411
      functionLinenumberEnd: 3414
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3412,2'
          Dst:             yyerror
    - functionName:    define_role_allow
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3371
      functionLinenumberEnd: 3408
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          119
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - append_role_allow
        - queue_remove
        - role_allow_rule_destroy
        - role_allow_rule_init
        - set_roles
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3376,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3378,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3385,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3388,2'
          Dst:             role_allow_rule_init
        - Src:             'policy_define.c:3390,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3391,7'
          Dst:             set_roles
        - Src:             'policy_define.c:3392,4'
          Dst:             role_allow_rule_destroy
        - Src:             'policy_define.c:3398,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3399,7'
          Dst:             set_roles
        - Src:             'policy_define.c:3400,4'
          Dst:             role_allow_rule_destroy
        - Src:             'policy_define.c:3406,2'
          Dst:             append_role_allow
    - functionName:    set_roles
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3184
      functionLinenumberEnd: 3217
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          104
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_set_bit
        - hashtab_search
        - is_id_in_scope
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3187,6'
          Dst:             strcmp
        - Src:             'policy_define.c:3189,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3193,6'
          Dst:             strcmp
        - Src:             'policy_define.c:3195,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3198,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3199,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3203,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3205,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3210,6'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3211,3'
          Dst:             yyerror
    - functionName:    role_val_to_name
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3172
      functionLinenumberEnd: 3181
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hashtab_map
        - role_val_to_name_helper
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3177,7'
          Dst:             hashtab_map
        - Src:             'policy_define.c:3177,7'
          Dst:             role_val_to_name_helper
    - functionName:    define_role_trans
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3220
      functionLinenumberEnd: 3368
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         95
      ICount:          555
      EdgeCount:       129
      CyclomaticComplexity: 36
      functionsReached:
        - append_role_trans
        - calloc
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - read_classes
        - role_set_destroy
        - role_set_expand
        - role_set_init
        - role_val_to_name
        - set_roles
        - set_types
        - type_set_destroy
        - type_set_expand
        - type_set_init
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3234,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3236,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3239,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:3241,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:3246,2'
          Dst:             role_set_init
        - Src:             'policy_define.c:3247,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3248,2'
          Dst:             type_set_init
        - Src:             'policy_define.c:3249,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3250,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3252,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3253,7'
          Dst:             set_roles
        - Src:             'policy_define.c:3257,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3258,7'
          Dst:             set_types
        - Src:             'policy_define.c:3263,7'
          Dst:             read_classes
        - Src:             'policy_define.c:3266,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3269,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3274,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3275,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3280,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3282,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3285,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3286,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3290,9'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3292,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3298,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3305,6'
          Dst:             role_set_expand
        - Src:             'policy_define.c:3308,6'
          Dst:             type_set_expand
        - Src:             'policy_define.c:3311,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3311,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3312,3'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3312,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3313,4'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3313,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3322,9'
          Dst:             role_val_to_name
        - Src:             'policy_define.c:3319,7'
          Dst:             yyerror2
        - Src:             'policy_define.c:3329,10'
          Dst:             calloc
        - Src:             'policy_define.c:3331,6'
          Dst:             yyerror
        - Src:             'policy_define.c:3313,4'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3312,3'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3311,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3344,9'
          Dst:             calloc
        - Src:             'policy_define.c:3346,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3354,2'
          Dst:             append_role_trans
        - Src:             'policy_define.c:3356,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3357,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3362,2'
          Dst:             role_set_destroy
        - Src:             'policy_define.c:3363,2'
          Dst:             type_set_destroy
        - Src:             'policy_define.c:3364,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3365,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3366,2'
          Dst:             ebitmap_destroy
    - functionName:    define_roleattribute
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3091
      functionLinenumberEnd: 3153
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         28
      ICount:          180
      EdgeCount:       39
      CyclomaticComplexity: 13
      functionsReached:
        - ebitmap_set_bit
        - get_local_role
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3096,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3101,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3103,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3107,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3108,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3112,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3115,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3121,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3122,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3123,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3127,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3130,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3136,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3141,15'
          Dst:             get_local_role
        - Src:             'policy_define.c:3142,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3146,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3147,4'
          Dst:             yyerror
    - functionName:    define_role_attr
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3042
      functionLinenumberEnd: 3088
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          141
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - declare_role
        - ebitmap_set_bit
        - get_local_role
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3047,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3053,11'
          Dst:             declare_role
        - Src:             'policy_define.c:3056,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3057,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3058,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3062,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3065,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3071,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3076,15'
          Dst:             get_local_role
        - Src:             'policy_define.c:3077,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3081,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3082,4'
          Dst:             yyerror
    - functionName:    define_attrib_role
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3028
      functionLinenumberEnd: 3039
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          38
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - declare_role
        - queue_remove
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:3030,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:3035,6'
          Dst:             declare_role
    - functionName:    define_role_types
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2988
      functionLinenumberEnd: 3025
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          124
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - get_local_role
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - set_types
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2994,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:2999,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3001,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3005,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3006,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3011,9'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3013,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3017,9'
          Dst:             get_local_role
        - Src:             'policy_define.c:3019,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3020,7'
          Dst:             set_types
    - functionName:    define_te_avtab
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2963
      functionLinenumberEnd: 2982
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          70
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - append_avrule
        - define_te_avtab_helper
        - queue_remove
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2970,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:2976,6'
          Dst:             define_te_avtab_helper
        - Src:             'policy_define.c:2980,2'
          Dst:             append_avrule
    - functionName:    define_te_avtab_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2766
      functionLinenumberEnd: 2940
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         112
      ICount:          680
      EdgeCount:       151
      CyclomaticComplexity: 41
      functionsReached:
        - avrule_destroy
        - avrule_init
        - class_perm_node_init
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - hashtab_search
        - is_perm_in_scope
        - queue_remove
        - read_classes
        - set_types
        - strcmp
        - strdup
        - yyerror
        - yyerror2
        - yywarn
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2778,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:2782,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2786,2'
          Dst:             avrule_init
        - Src:             'policy_define.c:2790,28'
          Dst:             strdup
        - Src:             'policy_define.c:2793,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2798,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2799,7'
          Dst:             set_types
        - Src:             'policy_define.c:2807,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2808,7'
          Dst:             strcmp
        - Src:             'policy_define.c:2811,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2817,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2823,7'
          Dst:             set_types
        - Src:             'policy_define.c:2833,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2843,8'
          Dst:             read_classes
        - Src:             'policy_define.c:2848,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:2848,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:2851,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2855,3'
          Dst:             class_perm_node_init
        - Src:             'policy_define.c:2848,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:2864,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2866,3'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:2866,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:2869,8'
          Dst:             strcmp
        - Src:             'policy_define.c:2875,8'
          Dst:             strcmp
        - Src:             'policy_define.c:2878,6'
          Dst:             yywarn
        - Src:             'policy_define.c:2882,6'
          Dst:             yywarn
        - Src:             'policy_define.c:2893,8'
          Dst:             hashtab_search
        - Src:             'policy_define.c:2897,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:2904,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:2909,13'
          Dst:             is_perm_in_scope
        - Src:             'policy_define.c:2912,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:2866,3'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:2932,3'
          Dst:             avrule_destroy
        - Src:             'policy_define.c:2936,2'
          Dst:             ebitmap_destroy
    - functionName:    define_cond_te_avtab
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2943
      functionLinenumberEnd: 2960
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          69
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - define_te_avtab_helper
        - queue_remove
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2950,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:2956,6'
          Dst:             define_te_avtab_helper
    - functionName:    define_te_avtab_extended_perms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2728
      functionLinenumberEnd: 2761
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          109
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - avrule_destroy
        - define_te_avtab_ioctl
        - define_te_avtab_netlink
        - define_te_avtab_xperms_helper
        - queue_remove
        - strcmp
        - yyerror2
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2736,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:2743,6'
          Dst:             define_te_avtab_xperms_helper
        - Src:             'policy_define.c:2746,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:2747,6'
          Dst:             strcmp
        - Src:             'policy_define.c:2748,8'
          Dst:             define_te_avtab_ioctl
        - Src:             'policy_define.c:2749,13'
          Dst:             strcmp
        - Src:             'policy_define.c:2750,8'
          Dst:             define_te_avtab_netlink
        - Src:             'policy_define.c:2752,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:2757,2'
          Dst:             avrule_destroy
    - functionName:    define_te_avtab_xperms_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2158
      functionLinenumberEnd: 2282
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         72
      ICount:          468
      EdgeCount:       97
      CyclomaticComplexity: 27
      functionsReached:
        - avrule_destroy
        - avrule_init
        - class_perm_node_init
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - hashtab_search
        - is_perm_in_scope
        - queue_head
        - queue_remove
        - read_classes
        - set_types
        - strcmp
        - strdup
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2171,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2174,2'
          Dst:             avrule_init
        - Src:             'policy_define.c:2178,28'
          Dst:             strdup
        - Src:             'policy_define.c:2181,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2185,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2186,7'
          Dst:             set_types
        - Src:             'policy_define.c:2193,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2194,7'
          Dst:             strcmp
        - Src:             'policy_define.c:2197,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2202,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2207,7'
          Dst:             set_types
        - Src:             'policy_define.c:2216,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2225,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:2226,8'
          Dst:             read_classes
        - Src:             'policy_define.c:2231,7'
          Dst:             queue_head
        - Src:             'policy_define.c:2232,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:2232,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:2235,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2238,3'
          Dst:             class_perm_node_init
        - Src:             'policy_define.c:2247,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:2250,16'
          Dst:             hashtab_search
        - Src:             'policy_define.c:2256,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:2260,15'
          Dst:             is_perm_in_scope
        - Src:             'policy_define.c:2261,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:2232,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:2270,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:2277,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:2279,2'
          Dst:             avrule_destroy
    - functionName:    define_te_avtab_ioctl
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2528
      functionLinenumberEnd: 2610
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         50
      ICount:          249
      EdgeCount:       68
      CyclomaticComplexity: 20
      functionsReached:
        - append_avrule
        - avrule_cpy
        - avrule_ioctl_completedriver
        - avrule_xperm_func
        - avrule_xperm_partialdriver
        - avrule_xperm_ranges
        - avrule_xperms_used
        - calloc
        - xperms_for_each_bit
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2536,6'
          Dst:             avrule_xperm_ranges
        - Src:             'policy_define.c:2540,6'
          Dst:             avrule_ioctl_completedriver
        - Src:             'policy_define.c:2543,12'
          Dst:             calloc
        - Src:             'policy_define.c:2545,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2548,7'
          Dst:             avrule_cpy
        - Src:             'policy_define.c:2556,4'
          Dst:             append_avrule
        - Src:             'policy_define.c:2561,6'
          Dst:             avrule_xperm_partialdriver
        - Src:             'policy_define.c:2564,26'
          Dst:             avrule_xperms_used
        - Src:             'policy_define.c:2573,9'
          Dst:             xperms_for_each_bit
        - Src:             'policy_define.c:2574,7'
          Dst:             avrule_xperm_func
        - Src:             'policy_define.c:2578,13'
          Dst:             calloc
        - Src:             'policy_define.c:2580,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2583,8'
          Dst:             avrule_cpy
        - Src:             'policy_define.c:2591,5'
          Dst:             append_avrule
    - functionName:    define_te_avtab_netlink
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2613
      functionLinenumberEnd: 2673
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          184
      EdgeCount:       51
      CyclomaticComplexity: 15
      functionsReached:
        - append_avrule
        - avrule_cpy
        - avrule_xperm_func
        - avrule_xperm_partialdriver
        - avrule_xperm_ranges
        - avrule_xperms_used
        - calloc
        - xperms_for_each_bit
        - yyerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2620,6'
          Dst:             avrule_xperm_ranges
        - Src:             'policy_define.c:2624,6'
          Dst:             avrule_xperm_partialdriver
        - Src:             'policy_define.c:2627,26'
          Dst:             avrule_xperms_used
        - Src:             'policy_define.c:2636,9'
          Dst:             xperms_for_each_bit
        - Src:             'policy_define.c:2637,7'
          Dst:             avrule_xperm_func
        - Src:             'policy_define.c:2641,13'
          Dst:             calloc
        - Src:             'policy_define.c:2643,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2646,8'
          Dst:             avrule_cpy
        - Src:             'policy_define.c:2654,5'
          Dst:             append_avrule
    - functionName:    define_cond_te_avtab_extended_perms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2676
      functionLinenumberEnd: 2725
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         33
      ICount:          183
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - avrule_destroy
        - define_te_avtab_ioctl
        - define_te_avtab_netlink
        - define_te_avtab_xperms_helper
        - queue_remove
        - strcmp
        - yyerror2
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2683,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:2688,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:2695,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:2702,6'
          Dst:             define_te_avtab_xperms_helper
        - Src:             'policy_define.c:2705,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:2706,6'
          Dst:             strcmp
        - Src:             'policy_define.c:2707,8'
          Dst:             define_te_avtab_ioctl
        - Src:             'policy_define.c:2708,13'
          Dst:             strcmp
        - Src:             'policy_define.c:2709,8'
          Dst:             define_te_avtab_netlink
        - Src:             'policy_define.c:2711,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:2716,2'
          Dst:             avrule_destroy
        - Src:             'policy_define.c:2720,3'
          Dst:             avrule_destroy
    - functionName:    define_cond_pol_list
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1928
      functionLinenumberEnd: 1948
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    define_bool_tunable
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1857
      functionLinenumberEnd: 1925
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          177
      EdgeCount:       33
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - calloc
        - cond_destroy_bool
        - declare_symbol
        - id_has_dot
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policy_define.c:1888,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:1864,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1869,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1871,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1874,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:1875,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1879,10'
          Dst:             calloc
        - Src:             'policy_define.c:1881,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1887,8'
          Dst:             declare_symbol
        - Src:             'policy_define.c:1890,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1894,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1898,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1908,4'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1913,23'
          Dst:             queue_remove
        - Src:             'policy_define.c:1915,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1923,2'
          Dst:             cond_destroy_bool
    - functionName:    define_cond_compute_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1834
      functionLinenumberEnd: 1854
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          83
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - define_compute_type_helper
        - queue_remove
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1839,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1841,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1843,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1845,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:1850,6'
          Dst:             define_compute_type_helper
    - functionName:    define_compute_type_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1717
      functionLinenumberEnd: 1807
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         46
      ICount:          290
      EdgeCount:       63
      CyclomaticComplexity: 19
      functionsReached:
        - avrule_destroy
        - avrule_init
        - class_perm_node_init
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - read_classes
        - set_types
        - strcmp
        - strdup
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1729,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1732,2'
          Dst:             avrule_init
        - Src:             'policy_define.c:1736,28'
          Dst:             strdup
        - Src:             'policy_define.c:1738,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1742,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:1744,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1745,7'
          Dst:             set_types
        - Src:             'policy_define.c:1749,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1750,7'
          Dst:             strcmp
        - Src:             'policy_define.c:1753,5'
          Dst:             yyerror
        - Src:             'policy_define.c:1759,7'
          Dst:             set_types
        - Src:             'policy_define.c:1763,6'
          Dst:             read_classes
        - Src:             'policy_define.c:1766,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1768,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1771,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1772,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1776,27'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1779,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1785,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:1785,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:1788,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1791,3'
          Dst:             class_perm_node_init
        - Src:             'policy_define.c:1785,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:1797,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:1803,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:1804,2'
          Dst:             avrule_destroy
    - functionName:    define_compute_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1810
      functionLinenumberEnd: 1831
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          84
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - append_avrule
        - define_compute_type_helper
        - queue_remove
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1815,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1817,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1819,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1821,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:1826,6'
          Dst:             define_compute_type_helper
        - Src:             'policy_define.c:1829,2'
          Dst:             append_avrule
    - functionName:    define_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1556
      functionLinenumberEnd: 1643
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         45
      ICount:          256
      EdgeCount:       62
      CyclomaticComplexity: 19
      functionsReached:
        - add_aliases_to_type
        - declare_type
        - define_typebounds_helper
        - ebitmap_set_bit
        - get_local_type
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - strdup
        - strrchr
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1566,13'
          Dst:             queue_remove
        - Src:             'policy_define.c:1569,17'
          Dst:             strrchr
        - Src:             'policy_define.c:1571,20'
          Dst:             strdup
        - Src:             'policy_define.c:1573,6'
          Dst:             yyerror
        - Src:             'policy_define.c:1580,11'
          Dst:             define_typebounds_helper
        - Src:             'policy_define.c:1592,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:1596,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1601,15'
          Dst:             declare_type
        - Src:             'policy_define.c:1606,7'
          Dst:             add_aliases_to_type
        - Src:             'policy_define.c:1611,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1612,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1613,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1617,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1620,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1626,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1631,15'
          Dst:             get_local_type
        - Src:             'policy_define.c:1632,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1636,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1637,4'
          Dst:             yyerror
    - functionName:    define_typebounds_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1473
      functionLinenumberEnd: 1523
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          214
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached:
        - get_local_type
        - hashtab_search
        - is_id_in_scope
        - strdup
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1478,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1479,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1483,11'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1485,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1489,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1490,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1494,9'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1496,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1500,7'
          Dst:             strdup
        - Src:             'policy_define.c:1502,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1506,9'
          Dst:             get_local_type
        - Src:             'policy_define.c:1508,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1515,3'
          Dst:             yyerror2
    - functionName:    add_aliases_to_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1304
      functionLinenumberEnd: 1366
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          148
      EdgeCount:       23
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - calloc
        - declare_symbol
        - hashtab_search
        - id_has_dot
        - queue_remove
        - type_datum_destroy
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policy_define.c:1325,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:1308,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1309,7'
          Dst:             id_has_dot
        - Src:             'policy_define.c:1310,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1315,16'
          Dst:             calloc
        - Src:             'policy_define.c:1318,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1323,9'
          Dst:             declare_symbol
        - Src:             'policy_define.c:1327,5'
          Dst:             yyerror
        - Src:             'policy_define.c:1331,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1336,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1343,5'
          Dst:             type_datum_destroy
        - Src:             'policy_define.c:1346,18'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1347,5'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1356,5'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1363,2'
          Dst:             type_datum_destroy
    - functionName:    define_typebounds
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1526
      functionLinenumberEnd: 1553
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         16
      ICount:          81
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - define_typebounds_helper
        - queue_remove
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1530,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1535,20'
          Dst:             queue_remove
        - Src:             'policy_define.c:1537,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1541,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1542,7'
          Dst:             define_typebounds_helper
    - functionName:    define_typeattribute
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1402
      functionLinenumberEnd: 1470
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         37
      ICount:          223
      EdgeCount:       51
      CyclomaticComplexity: 16
      functionsReached:
        - ebitmap_set_bit
        - get_local_type
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1407,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1412,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1414,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1418,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1419,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1423,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1425,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1430,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1438,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1439,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1440,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1444,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1447,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1453,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1458,15'
          Dst:             get_local_type
        - Src:             'policy_define.c:1459,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1463,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1464,4'
          Dst:             yyerror
    - functionName:    define_typealias
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1369
      functionLinenumberEnd: 1399
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          102
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - add_aliases_to_type
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1374,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1379,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1381,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1385,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1386,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1390,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1392,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1398,9'
          Dst:             add_aliases_to_type
    - functionName:    yywarn2
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - vsnprintf
        - yywarn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:106,2'
          Dst:             vsnprintf
        - Src:             'policy_define.c:107,2'
          Dst:             yywarn
    - functionName:    expand_attrib
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1227
      functionLinenumberEnd: 1301
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         45
      ICount:          258
      EdgeCount:       60
      CyclomaticComplexity: 17
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - strcmp
        - yyerror
        - yyerror2
        - yywarn2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1239,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:1246,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:1247,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1248,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1249,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1253,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1255,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1260,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1264,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1265,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1272,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1274,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1278,7'
          Dst:             strcmp
        - Src:             'policy_define.c:1284,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:1284,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:1286,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1290,4'
          Dst:             yywarn2
        - Src:             'policy_define.c:1284,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:1298,2'
          Dst:             ebitmap_destroy
    - functionName:    define_attrib
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1214
      functionLinenumberEnd: 1224
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          38
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - declare_type
        - queue_remove
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1216,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:1220,6'
          Dst:             declare_type
    - functionName:    clone_level
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1084
      functionLinenumberEnd: 1104
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          97
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - mls_level_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1096,7'
          Dst:             mls_level_cpy
    - functionName:    define_level
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1107
      functionLinenumberEnd: 1211
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         45
      ICount:          309
      EdgeCount:       62
      CyclomaticComplexity: 19
      functionsReached:
        - clone_level
        - ebitmap_set_bit
        - hashtab_map
        - hashtab_search
        - id_has_dot
        - queue_remove
        - strchr
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:1112,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1117,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1122,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1124,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1127,31'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1130,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1135,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1142,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1146,7'
          Dst:             id_has_dot
        - Src:             'policy_define.c:1148,19'
          Dst:             strchr
        - Src:             'policy_define.c:1153,24'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1158,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1164,24'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1169,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1176,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1182,24'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1186,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1194,8'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1195,5'
          Dst:             yyerror
        - Src:             'policy_define.c:1204,6'
          Dst:             hashtab_map
        - Src:             'policy_define.c:1204,6'
          Dst:             clone_level
        - Src:             'policy_define.c:1206,3'
          Dst:             yyerror
    - functionName:    define_category
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 952
      functionLinenumberEnd: 1081
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         46
      ICount:          269
      EdgeCount:       53
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - cat_datum_destroy
        - cat_datum_init
        - declare_symbol
        - id_has_dot
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policy_define.c:987,2'
          Branch Sides:    []
        - Branch String:   'policy_define.c:1034,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:959,3'
          Dst:             yyerror
        - Src:             'policy_define.c:964,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:969,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:971,3'
          Dst:             yyerror
        - Src:             'policy_define.c:974,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:975,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:980,3'
          Dst:             yyerror
        - Src:             'policy_define.c:983,2'
          Dst:             cat_datum_init
        - Src:             'policy_define.c:986,8'
          Dst:             declare_symbol
        - Src:             'policy_define.c:989,4'
          Dst:             yyerror
        - Src:             'policy_define.c:993,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:997,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1005,4'
          Dst:             cat_datum_destroy
        - Src:             'policy_define.c:1011,4'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1015,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1016,7'
          Dst:             id_has_dot
        - Src:             'policy_define.c:1017,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1023,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1027,3'
          Dst:             cat_datum_init
        - Src:             'policy_define.c:1032,7'
          Dst:             declare_symbol
        - Src:             'policy_define.c:1036,5'
          Dst:             yyerror
        - Src:             'policy_define.c:1040,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1045,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1053,5'
          Dst:             cat_datum_destroy
        - Src:             'policy_define.c:1059,5'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1069,3'
          Dst:             cat_datum_destroy
        - Src:             'policy_define.c:1077,3'
          Dst:             cat_datum_destroy
    - functionName:    define_dominance
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 904
      functionLinenumberEnd: 949
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          124
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - hashtab_search
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:910,3'
          Dst:             yyerror
        - Src:             'policy_define.c:915,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:921,23'
          Dst:             queue_remove
        - Src:             'policy_define.c:923,25'
          Dst:             hashtab_search
        - Src:             'policy_define.c:926,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:932,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:944,3'
          Dst:             yyerror
    - functionName:    define_sens
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 901
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         48
      ICount:          295
      EdgeCount:       56
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - declare_symbol
        - ebitmap_init
        - id_has_dot
        - level_datum_destroy
        - level_datum_init
        - mls_level_init
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policy_define.c:808,2'
          Branch Sides:    []
        - Branch String:   'policy_define.c:853,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:769,3'
          Dst:             yyerror
        - Src:             'policy_define.c:774,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:779,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:781,3'
          Dst:             yyerror
        - Src:             'policy_define.c:784,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:785,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:790,3'
          Dst:             yyerror
        - Src:             'policy_define.c:793,2'
          Dst:             mls_level_init
        - Src:             'policy_define.c:795,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:799,3'
          Dst:             yyerror
        - Src:             'policy_define.c:802,2'
          Dst:             level_datum_init
        - Src:             'policy_define.c:807,8'
          Dst:             declare_symbol
        - Src:             'policy_define.c:810,4'
          Dst:             yyerror
        - Src:             'policy_define.c:814,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:818,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:825,4'
          Dst:             level_datum_destroy
        - Src:             'policy_define.c:831,4'
          Dst:             __assert_fail
        - Src:             'policy_define.c:835,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:836,7'
          Dst:             id_has_dot
        - Src:             'policy_define.c:837,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:843,4'
          Dst:             yyerror
        - Src:             'policy_define.c:847,3'
          Dst:             level_datum_init
        - Src:             'policy_define.c:852,9'
          Dst:             declare_symbol
        - Src:             'policy_define.c:855,5'
          Dst:             yyerror
        - Src:             'policy_define.c:859,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:864,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:872,5'
          Dst:             level_datum_destroy
        - Src:             'policy_define.c:878,5'
          Dst:             __assert_fail
        - Src:             'policy_define.c:889,3'
          Dst:             level_datum_destroy
        - Src:             'policy_define.c:897,3'
          Dst:             level_datum_destroy
    - functionName:    define_av_perms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 643
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          301
      EdgeCount:       64
      CyclomaticComplexity: 20
      functionsReached:
        - add_perm_to_class
        - calloc
        - hashtab_insert
        - hashtab_search
        - queue_remove
        - symtab_init
        - yyerror
        - yyerror2
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:651,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:656,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:658,3'
          Dst:             yyerror
        - Src:             'policy_define.c:661,31'
          Dst:             hashtab_search
        - Src:             'policy_define.c:664,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:669,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:676,6'
          Dst:             symtab_init
        - Src:             'policy_define.c:677,3'
          Dst:             yyerror
        - Src:             'policy_define.c:681,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:683,4'
          Dst:             yyerror
        - Src:             'policy_define.c:688,26'
          Dst:             hashtab_search
        - Src:             'policy_define.c:693,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:705,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:706,14'
          Dst:             calloc
        - Src:             'policy_define.c:708,4'
          Dst:             yyerror
        - Src:             'policy_define.c:714,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:725,25'
          Dst:             hashtab_search
        - Src:             'policy_define.c:729,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:734,9'
          Dst:             hashtab_insert
        - Src:             'policy_define.c:739,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:743,4'
          Dst:             yyerror
        - Src:             'policy_define.c:746,7'
          Dst:             add_perm_to_class
        - Src:             'policy_define.c:747,4'
          Dst:             yyerror
    - functionName:    define_common_perms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 555
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         34
      ICount:          236
      EdgeCount:       47
      CyclomaticComplexity: 15
      functionsReached:
        - calloc
        - hashtab_insert
        - hashtab_search
        - queue_remove
        - symtab_init
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:562,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:567,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:569,3'
          Dst:             yyerror
        - Src:             'policy_define.c:572,13'
          Dst:             hashtab_search
        - Src:             'policy_define.c:574,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:578,13'
          Dst:             calloc
        - Src:             'policy_define.c:580,3'
          Dst:             yyerror
        - Src:             'policy_define.c:583,8'
          Dst:             hashtab_insert
        - Src:             'policy_define.c:587,3'
          Dst:             yyerror
        - Src:             'policy_define.c:591,3'
          Dst:             yyerror
        - Src:             'policy_define.c:595,6'
          Dst:             symtab_init
        - Src:             'policy_define.c:596,3'
          Dst:             yyerror
        - Src:             'policy_define.c:600,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:601,14'
          Dst:             calloc
        - Src:             'policy_define.c:603,4'
          Dst:             yyerror
        - Src:             'policy_define.c:609,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:613,9'
          Dst:             hashtab_insert
        - Src:             'policy_define.c:618,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:623,4'
          Dst:             yyerror
    - functionName:    define_default_range
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 552
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          123
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror2
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:525,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:530,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:531,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:532,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:536,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:538,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:543,4'
          Dst:             yyerror2
    - functionName:    define_default_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 517
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          123
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:490,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:495,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:496,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:497,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:501,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:503,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:508,4'
          Dst:             yyerror2
    - functionName:    define_default_role
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 482
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          123
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:455,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:460,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:461,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:462,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:466,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:468,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:473,4'
          Dst:             yyerror2
    - functionName:    define_default_user
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 447
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          123
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:420,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:425,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:426,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:427,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:431,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:433,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:438,4'
          Dst:             yyerror2
    - functionName:    define_initial_sid
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          140
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - context_init
        - queue_remove
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:346,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:351,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:353,3'
          Dst:             yyerror
        - Src:             'policy_define.c:356,9'
          Dst:             calloc
        - Src:             'policy_define.c:358,3'
          Dst:             yyerror
        - Src:             'policy_define.c:362,2'
          Dst:             context_init
        - Src:             'policy_define.c:366,8'
          Dst:             strcmp
        - Src:             'policy_define.c:367,4'
          Dst:             yyerror2
    - functionName:    define_polcap
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          77
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - ebitmap_set_bit
        - queue_remove
        - sepol_polcap_getnum
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:308,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:313,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:315,3'
          Dst:             yyerror
        - Src:             'policy_define.c:320,11'
          Dst:             sepol_polcap_getnum
        - Src:             'policy_define.c:322,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:327,6'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:328,3'
          Dst:             yyerror
    - functionName:    define_neveraudit
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:265,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:268,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:276,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:277,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:282,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:284,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:290,3'
          Dst:             yyerror2
    - functionName:    define_permissive
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - hashtab_search
        - is_id_in_scope
        - queue_remove
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:222,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:225,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:233,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:234,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:239,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:241,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:247,3'
          Dst:             yyerror2
    - functionName:    define_class
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          111
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - calloc
        - declare_symbol
        - queue_remove
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policy_define.c:184,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:168,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:173,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:175,3'
          Dst:             yyerror
        - Src:             'policy_define.c:178,10'
          Dst:             calloc
        - Src:             'policy_define.c:180,3'
          Dst:             yyerror
        - Src:             'policy_define.c:183,8'
          Dst:             declare_symbol
        - Src:             'policy_define.c:186,4'
          Dst:             yyerror
        - Src:             'policy_define.c:190,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:194,4'
          Dst:             yyerror
        - Src:             'policy_define.c:204,4'
          Dst:             __assert_fail
    - functionName:    insert_id
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - queue_insert
        - queue_push
        - strdup
        - yyerror
      functionUses:    30
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:132,10'
          Dst:             strdup
        - Src:             'policy_define.c:134,3'
          Dst:             yyerror
        - Src:             'policy_define.c:138,11'
          Dst:             queue_push
        - Src:             'policy_define.c:140,11'
          Dst:             queue_insert
        - Src:             'policy_define.c:143,3'
          Dst:             yyerror
    - functionName:    insert_separator
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - queue_insert
        - queue_push
        - yyerror
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:116,11'
          Dst:             queue_push
        - Src:             'policy_define.c:118,11'
          Dst:             queue_insert
        - Src:             'policy_define.c:121,3'
          Dst:             yyerror
    - functionName:    init_parser
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - queue_clear
        - set_source_file
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:86,2'
          Dst:             set_source_file
        - Src:             'policy_define.c:87,2'
          Dst:             queue_clear
    - functionName:    queue_map_remove_on_error
      functionSourceFile: '/src/selinux/checkpolicy/queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          134
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_map
      functionSourceFile: '/src/selinux/checkpolicy/queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_destroy
      functionSourceFile: '/src/selinux/checkpolicy/queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_clear
      functionSourceFile: '/src/selinux/checkpolicy/queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_head
      functionSourceFile: '/src/selinux/checkpolicy/queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_remove
      functionSourceFile: '/src/selinux/checkpolicy/queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          72
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    198
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_push
      functionSourceFile: '/src/selinux/checkpolicy/queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          75
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_insert
      functionSourceFile: '/src/selinux/checkpolicy/queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          75
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_create
      functionSourceFile: '/src/selinux/checkpolicy/queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 24
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yydestruct
      functionSourceFile: '/src/selinux/checkpolicy/y.tab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2071
      functionLinenumberEnd: 2080
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yyparse
      functionSourceFile: '/src/selinux/checkpolicy/y.tab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2100
      functionLinenumberEnd: 4062
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         799
      ICount:          3849
      EdgeCount:       1053
      CyclomaticComplexity: 256
      functionsReached:
        - __errno_location
        - begin_optional
        - begin_optional_else
        - define_attrib
        - define_attrib_role
        - define_av_perms
        - define_bool_tunable
        - define_category
        - define_cexpr
        - define_class
        - define_common_perms
        - define_compute_type
        - define_cond_compute_type
        - define_cond_expr
        - define_cond_filename_trans
        - define_cond_pol_list
        - define_cond_te_avtab
        - define_cond_te_avtab_extended_perms
        - define_conditional
        - define_constraint
        - define_default_range
        - define_default_role
        - define_default_type
        - define_default_user
        - define_devicetree_context
        - define_dominance
        - define_filename_trans
        - define_fs_context
        - define_fs_use
        - define_genfs_context
        - define_ibendport_context
        - define_ibpkey_context
        - define_initial_sid
        - define_initial_sid_context
        - define_iomem_context
        - define_ioport_context
        - define_ipv4_cidr_node_context
        - define_ipv4_node_context
        - define_ipv6_cidr_node_context
        - define_ipv6_node_context
        - define_level
        - define_netif_context
        - define_neveraudit
        - define_pcidevice_context
        - define_permissive
        - define_pirq_context
        - define_polcap
        - define_policy
        - define_port_context
        - define_range_trans
        - define_role_allow
        - define_role_attr
        - define_role_trans
        - define_role_types
        - define_roleattribute
        - define_sens
        - define_te_avtab
        - define_te_avtab_extended_perms
        - define_type
        - define_typealias
        - define_typeattribute
        - define_typebounds
        - define_user
        - define_validatetrans
        - end_avrule_block
        - end_optional
        - expand_attrib
        - insert_id
        - insert_separator
        - policydb_index_bools
        - policydb_index_classes
        - policydb_index_others
        - require_class
        - strlen
        - strtoul
        - strtoull
        - yydestruct
        - yyerror
        - yylex
      functionUses:    4
      BranchProfiles:
        - Branch String:   'y.tab.c:2338,3'
          Branch Sides:    []
      Callsites:
        - Src:             'y.tab.c:2264,16'
          Dst:             yylex
        - Src:             'policy_parse.y:171,33'
          Dst:             define_policy
        - Src:             'policy_parse.y:173,50'
          Dst:             policydb_index_classes
        - Src:             'policy_parse.y:174,55'
          Dst:             policydb_index_others
        - Src:             'policy_parse.y:176,49'
          Dst:             policydb_index_bools
        - Src:             'policy_parse.y:177,33'
          Dst:             policydb_index_others
        - Src:             'policy_parse.y:184,30'
          Dst:             define_class
        - Src:             'policy_parse.y:190,30'
          Dst:             define_initial_sid
        - Src:             'policy_parse.y:201,30'
          Dst:             define_common_perms
        - Src:             'policy_parse.y:207,30'
          Dst:             define_av_perms
        - Src:             'policy_parse.y:209,30'
          Dst:             define_av_perms
        - Src:             'policy_parse.y:211,30'
          Dst:             define_av_perms
        - Src:             'policy_parse.y:226,30'
          Dst:             define_default_user
        - Src:             'policy_parse.y:228,30'
          Dst:             define_default_user
        - Src:             'policy_parse.y:231,30'
          Dst:             define_default_role
        - Src:             'policy_parse.y:233,30'
          Dst:             define_default_role
        - Src:             'policy_parse.y:236,30'
          Dst:             define_default_type
        - Src:             'policy_parse.y:238,30'
          Dst:             define_default_type
        - Src:             'policy_parse.y:241,30'
          Dst:             define_default_range
        - Src:             'policy_parse.y:243,30'
          Dst:             define_default_range
        - Src:             'policy_parse.y:245,30'
          Dst:             define_default_range
        - Src:             'policy_parse.y:247,30'
          Dst:             define_default_range
        - Src:             'policy_parse.y:249,30'
          Dst:             define_default_range
        - Src:             'policy_parse.y:251,30'
          Dst:             define_default_range
        - Src:             'policy_parse.y:253,30'
          Dst:             define_default_range
        - Src:             'policy_parse.y:264,30'
          Dst:             define_sens
        - Src:             'policy_parse.y:266,30'
          Dst:             define_sens
        - Src:             'policy_parse.y:271,30'
          Dst:             define_dominance
        - Src:             'policy_parse.y:273,30'
          Dst:             define_dominance
        - Src:             'policy_parse.y:282,30'
          Dst:             define_category
        - Src:             'policy_parse.y:284,30'
          Dst:             define_category
        - Src:             'policy_parse.y:290,30'
          Dst:             define_level
        - Src:             'policy_parse.y:292,30'
          Dst:             define_level
        - Src:             'policy_parse.y:301,31'
          Dst:             define_constraint
        - Src:             'policy_parse.y:304,31'
          Dst:             define_validatetrans
        - Src:             'policy_parse.y:338,31'
          Dst:             define_attrib
        - Src:             'policy_parse.y:341,31'
          Dst:             expand_attrib
        - Src:             'policy_parse.y:344,30'
          Dst:             define_type
        - Src:             'policy_parse.y:346,30'
          Dst:             define_type
        - Src:             'policy_parse.y:349,30'
          Dst:             define_typealias
        - Src:             'policy_parse.y:352,30'
          Dst:             define_typeattribute
        - Src:             'policy_parse.y:355,30'
          Dst:             define_typebounds
        - Src:             'policy_parse.y:361,31'
          Dst:             define_bool_tunable
        - Src:             'policy_parse.y:364,31'
          Dst:             define_bool_tunable
        - Src:             'policy_parse.y:367,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:369,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:372,48'
          Dst:             define_conditional
        - Src:             'policy_parse.y:382,41'
          Dst:             define_cond_expr
        - Src:             'policy_parse.y:385,41'
          Dst:             define_cond_expr
        - Src:             'policy_parse.y:388,41'
          Dst:             define_cond_expr
        - Src:             'policy_parse.y:391,41'
          Dst:             define_cond_expr
        - Src:             'policy_parse.y:394,41'
          Dst:             define_cond_expr
        - Src:             'policy_parse.y:397,41'
          Dst:             define_cond_expr
        - Src:             'policy_parse.y:403,41'
          Dst:             define_cond_expr
        - Src:             'policy_parse.y:407,41'
          Dst:             define_cond_pol_list
        - Src:             'policy_parse.y:419,41'
          Dst:             define_cond_filename_trans
        - Src:             'policy_parse.y:422,41'
          Dst:             define_cond_compute_type
        - Src:             'policy_parse.y:425,41'
          Dst:             define_cond_compute_type
        - Src:             'policy_parse.y:428,41'
          Dst:             define_cond_compute_type
        - Src:             'policy_parse.y:447,41'
          Dst:             define_cond_te_avtab
        - Src:             'policy_parse.y:451,41'
          Dst:             define_cond_te_avtab
        - Src:             'policy_parse.y:455,41'
          Dst:             define_cond_te_avtab
        - Src:             'policy_parse.y:459,41'
          Dst:             define_cond_te_avtab
        - Src:             'policy_parse.y:463,49'
          Dst:             define_cond_te_avtab_extended_perms
        - Src:             'policy_parse.y:467,49'
          Dst:             define_cond_te_avtab_extended_perms
        - Src:             'policy_parse.y:471,49'
          Dst:             define_cond_te_avtab_extended_perms
        - Src:             'policy_parse.y:475,30'
          Dst:             define_filename_trans
        - Src:             'policy_parse.y:477,30'
          Dst:             define_compute_type
        - Src:             'policy_parse.y:479,30'
          Dst:             define_compute_type
        - Src:             'policy_parse.y:481,30'
          Dst:             define_compute_type
        - Src:             'policy_parse.y:484,31'
          Dst:             define_range_trans
        - Src:             'policy_parse.y:486,31'
          Dst:             define_range_trans
        - Src:             'policy_parse.y:499,30'
          Dst:             define_te_avtab
        - Src:             'policy_parse.y:502,30'
          Dst:             define_te_avtab
        - Src:             'policy_parse.y:505,30'
          Dst:             define_te_avtab
        - Src:             'policy_parse.y:508,30'
          Dst:             define_te_avtab
        - Src:             'policy_parse.y:511,30'
          Dst:             define_te_avtab
        - Src:             'policy_parse.y:514,30'
          Dst:             define_te_avtab_extended_perms
        - Src:             'policy_parse.y:517,30'
          Dst:             define_te_avtab_extended_perms
        - Src:             'policy_parse.y:520,30'
          Dst:             define_te_avtab_extended_perms
        - Src:             'policy_parse.y:523,30'
          Dst:             define_te_avtab_extended_perms
        - Src:             'policy_parse.y:526,30'
          Dst:             define_attrib_role
        - Src:             'policy_parse.y:529,30'
          Dst:             define_role_types
        - Src:             'policy_parse.y:532,30'
          Dst:             define_role_attr
        - Src:             'policy_parse.y:535,30'
          Dst:             define_role_trans
        - Src:             'policy_parse.y:537,30'
          Dst:             define_role_trans
        - Src:             'policy_parse.y:540,30'
          Dst:             define_role_allow
        - Src:             'policy_parse.y:543,30'
          Dst:             define_roleattribute
        - Src:             'policy_parse.y:555,31'
          Dst:             define_constraint
        - Src:             'policy_parse.y:558,31'
          Dst:             define_validatetrans
        - Src:             'policy_parse.y:563,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:566,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:569,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:575,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:578,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:581,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:583,39'
          Dst:             insert_separator
        - Src:             'policy_parse.y:584,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:586,39'
          Dst:             insert_separator
        - Src:             'policy_parse.y:587,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:589,39'
          Dst:             insert_separator
        - Src:             'policy_parse.y:590,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:592,39'
          Dst:             insert_separator
        - Src:             'policy_parse.y:593,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:595,39'
          Dst:             insert_separator
        - Src:             'policy_parse.y:596,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:598,39'
          Dst:             insert_separator
        - Src:             'policy_parse.y:599,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:601,39'
          Dst:             insert_separator
        - Src:             'policy_parse.y:602,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:604,39'
          Dst:             insert_separator
        - Src:             'policy_parse.y:605,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:607,39'
          Dst:             insert_separator
        - Src:             'policy_parse.y:608,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:611,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:613,45'
          Dst:             insert_separator
        - Src:             'policy_parse.y:614,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:616,45'
          Dst:             insert_separator
        - Src:             'policy_parse.y:617,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:620,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:622,45'
          Dst:             insert_separator
        - Src:             'policy_parse.y:623,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:625,45'
          Dst:             insert_separator
        - Src:             'policy_parse.y:626,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:629,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:632,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:635,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:638,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:641,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:644,44'
          Dst:             define_cexpr
        - Src:             'policy_parse.y:665,30'
          Dst:             define_user
        - Src:             'policy_parse.y:674,30'
          Dst:             define_initial_sid_context
        - Src:             'policy_parse.y:688,30'
          Dst:             define_pirq_context
        - Src:             'policy_parse.y:691,30'
          Dst:             define_iomem_context
        - Src:             'policy_parse.y:693,30'
          Dst:             define_iomem_context
        - Src:             'policy_parse.y:696,30'
          Dst:             define_ioport_context
        - Src:             'policy_parse.y:698,30'
          Dst:             define_ioport_context
        - Src:             'policy_parse.y:701,30'
          Dst:             define_pcidevice_context
        - Src:             'policy_parse.y:704,30'
          Dst:             define_devicetree_context
        - Src:             'policy_parse.y:713,30'
          Dst:             define_fs_context
        - Src:             'policy_parse.y:724,30'
          Dst:             define_port_context
        - Src:             'policy_parse.y:726,30'
          Dst:             define_port_context
        - Src:             'policy_parse.y:735,30'
          Dst:             define_ibpkey_context
        - Src:             'policy_parse.y:737,30'
          Dst:             define_ibpkey_context
        - Src:             'policy_parse.y:746,30'
          Dst:             define_ibendport_context
        - Src:             'policy_parse.y:755,30'
          Dst:             define_netif_context
        - Src:             'policy_parse.y:764,30'
          Dst:             define_ipv4_node_context
        - Src:             'policy_parse.y:766,30'
          Dst:             define_ipv4_cidr_node_context
        - Src:             'policy_parse.y:768,30'
          Dst:             define_ipv6_node_context
        - Src:             'policy_parse.y:770,30'
          Dst:             define_ipv6_cidr_node_context
        - Src:             'policy_parse.y:779,30'
          Dst:             define_fs_use
        - Src:             'policy_parse.y:781,30'
          Dst:             define_fs_use
        - Src:             'policy_parse.y:783,30'
          Dst:             define_fs_use
        - Src:             'policy_parse.y:792,30'
          Dst:             define_genfs_context
        - Src:             'policy_parse.y:793,61'
          Dst:             insert_id
        - Src:             'policy_parse.y:794,30'
          Dst:             define_genfs_context
        - Src:             'policy_parse.y:796,30'
          Dst:             define_genfs_context
        - Src:             'policy_parse.y:799,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:802,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:805,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:807,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:809,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:811,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:812,10'
          Dst:             insert_separator
        - Src:             'policy_parse.y:819,39'
          Dst:             insert_id
        - Src:             'policy_parse.y:824,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:832,30'
          Dst:             insert_separator
        - Src:             'policy_parse.y:834,30'
          Dst:             insert_separator
        - Src:             'policy_parse.y:837,30'
          Dst:             insert_separator
        - Src:             'policy_parse.y:839,30'
          Dst:             insert_separator
        - Src:             'policy_parse.y:849,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:851,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:853,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:854,10'
          Dst:             insert_separator
        - Src:             'policy_parse.y:856,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:857,10'
          Dst:             insert_separator
        - Src:             'policy_parse.y:859,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:860,10'
          Dst:             insert_separator
        - Src:             'policy_parse.y:861,48'
          Dst:             insert_id
        - Src:             'policy_parse.y:862,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:865,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:868,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:880,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:889,50'
          Dst:             insert_id
        - Src:             'policy_parse.y:892,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:895,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:897,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:900,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:902,34'
          Dst:             strlen
        - Src:             'policy_parse.y:902,66'
          Dst:             insert_id
        - Src:             'policy_parse.y:905,34'
          Dst:             strlen
        - Src:             'policy_parse.y:905,66'
          Dst:             insert_id
        - Src:             'policy_parse.y:908,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:910,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:912,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:916,6'
          Dst:             __errno_location
        - Src:             'policy_parse.y:917,10'
          Dst:             strtoul
        - Src:             'policy_parse.y:918,10'
          Dst:             __errno_location
        - Src:             'policy_parse.y:929,6'
          Dst:             __errno_location
        - Src:             'policy_parse.y:930,10'
          Dst:             strtoull
        - Src:             'policy_parse.y:931,10'
          Dst:             __errno_location
        - Src:             'policy_parse.y:937,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:940,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:943,30'
          Dst:             define_polcap
        - Src:             'policy_parse.y:946,30'
          Dst:             define_permissive
        - Src:             'policy_parse.y:948,30'
          Dst:             define_neveraudit
        - Src:             'policy_parse.y:953,31'
          Dst:             end_avrule_block
        - Src:             'policy_parse.y:954,31'
          Dst:             policydb_index_others
        - Src:             'policy_parse.y:958,31'
          Dst:             define_policy
        - Src:             'policy_parse.y:961,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:963,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:987,31'
          Dst:             require_class
        - Src:             'policy_parse.y:1005,31'
          Dst:             end_avrule_block
        - Src:             'policy_parse.y:1007,31'
          Dst:             end_optional
        - Src:             'policy_parse.y:1010,31'
          Dst:             end_avrule_block
        - Src:             'policy_parse.y:1014,31'
          Dst:             begin_optional
        - Src:             'policy_parse.y:1017,31'
          Dst:             begin_optional_else
        - Src:             'y.tab.c:3882,7'
          Dst:             yyerror
        - Src:             'y.tab.c:3932,11'
          Dst:             yydestruct
        - Src:             'y.tab.c:3986,7'
          Dst:             yydestruct
        - Src:             'y.tab.c:4026,3'
          Dst:             yyerror
        - Src:             'y.tab.c:4041,7'
          Dst:             yydestruct
        - Src:             'y.tab.c:4050,7'
          Dst:             yydestruct
    - functionName:    strtoull
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policy_name
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    extended_permissions_violated
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          288
      EdgeCount:       54
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    report_failure
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          326
      EdgeCount:       53
      CyclomaticComplexity: 13
      functionsReached:
        - policy_name
        - sepol_av_to_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:48,18'
          Dst:             sepol_av_to_string
        - Src:             'assertion.c:51,3'
          Dst:             policy_name
    - functionName:    report_assertion_extended_permissions
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         157
      ICount:          1043
      EdgeCount:       209
      CyclomaticComplexity: 54
      functionsReached:
        - avtab_search_node
        - avtab_search_node_next
        - check_extended_permissions
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - extended_permissions_violated
        - match_any_class_permissions
        - match_node_key
        - policy_name
        - sepol_av_to_string
        - sepol_extended_perms_to_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:183,2'
          Dst:             ebitmap_start
        - Src:             'assertion.c:183,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:185,3'
          Dst:             ebitmap_start
        - Src:             'assertion.c:185,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:187,16'
          Dst:             avtab_search_node
        - Src:             'assertion.c:197,9'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:200,6'
          Dst:             extended_permissions_violated
        - Src:             'assertion.c:201,19'
          Dst:             sepol_extended_perms_to_string
        - Src:             'assertion.c:203,6'
          Dst:             policy_name
        - Src:             'assertion.c:189,16'
          Dst:             avtab_search_node_next
        - Src:             'assertion.c:225,11'
          Dst:             match_node_key
        - Src:             'assertion.c:228,10'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:243,10'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:246,7'
          Dst:             extended_permissions_violated
        - Src:             'assertion.c:247,20'
          Dst:             sepol_extended_perms_to_string
        - Src:             'assertion.c:249,7'
          Dst:             policy_name
        - Src:             'assertion.c:267,11'
          Dst:             match_node_key
        - Src:             'assertion.c:270,10'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:285,10'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:288,7'
          Dst:             extended_permissions_violated
        - Src:             'assertion.c:289,20'
          Dst:             sepol_extended_perms_to_string
        - Src:             'assertion.c:291,7'
          Dst:             policy_name
        - Src:             'assertion.c:185,3'
          Dst:             ebitmap_next
        - Src:             'assertion.c:183,2'
          Dst:             ebitmap_next
        - Src:             'assertion.c:314,19'
          Dst:             sepol_av_to_string
        - Src:             'assertion.c:316,3'
          Dst:             policy_name
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_extended_permissions
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          254
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - extended_permissions_and
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:100,9'
          Dst:             extended_permissions_and
        - Src:             'assertion.c:109,8'
          Dst:             extended_permissions_and
        - Src:             'assertion.c:113,9'
          Dst:             extended_permissions_and
    - functionName:    match_node_key
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    match_any_class_permissions
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    extended_permissions_and
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    report_assertion_avtab_matches
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 426
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         78
      ICount:          496
      EdgeCount:       105
      CyclomaticComplexity: 29
      functionsReached:
        - ebitmap_and
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - ebitmap_union
        - match_any_class_permissions
        - report_assertion_extended_permissions
        - report_failure
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:349,7'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:352,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:353,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:354,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:356,7'
          Dst:             ebitmap_and
        - Src:             'assertion.c:367,9'
          Dst:             ebitmap_cpy
        - Src:             'assertion.c:370,9'
          Dst:             ebitmap_and
        - Src:             'assertion.c:375,8'
          Dst:             ebitmap_and
        - Src:             'assertion.c:380,9'
          Dst:             ebitmap_and
        - Src:             'assertion.c:385,10'
          Dst:             ebitmap_union
        - Src:             'assertion.c:402,3'
          Dst:             ebitmap_start
        - Src:             'assertion.c:402,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:403,4'
          Dst:             ebitmap_start
        - Src:             'assertion.c:403,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:409,19'
          Dst:             report_assertion_extended_permissions
        - Src:             'assertion.c:414,6'
          Dst:             report_failure
        - Src:             'assertion.c:403,4'
          Dst:             ebitmap_next
        - Src:             'assertion.c:402,3'
          Dst:             ebitmap_next
        - Src:             'assertion.c:422,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:423,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:424,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_assertion_extended_permissions_avtab
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 561
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         114
      ICount:          626
      EdgeCount:       155
      CyclomaticComplexity: 43
      functionsReached:
        - avtab_search_node
        - avtab_search_node_next
        - check_extended_permissions
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - match_any_class_permissions
        - match_node_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:476,2'
          Dst:             ebitmap_start
        - Src:             'assertion.c:476,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:478,3'
          Dst:             ebitmap_start
        - Src:             'assertion.c:478,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:480,16'
          Dst:             avtab_search_node
        - Src:             'assertion.c:490,9'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:482,16'
          Dst:             avtab_search_node_next
        - Src:             'assertion.c:503,11'
          Dst:             match_node_key
        - Src:             'assertion.c:506,51'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:521,10'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:530,11'
          Dst:             match_node_key
        - Src:             'assertion.c:533,51'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:548,10'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:478,3'
          Dst:             ebitmap_next
        - Src:             'assertion.c:476,2'
          Dst:             ebitmap_next
    - functionName:    check_assertion_extended_permissions
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 582
      functionLinenumberEnd: 657
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         63
      ICount:          370
      EdgeCount:       85
      CyclomaticComplexity: 24
      functionsReached:
        - check_assertion_extended_permissions_avtab
        - ebitmap_and
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - ebitmap_union
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:590,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:591,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:592,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:594,7'
          Dst:             ebitmap_and
        - Src:             'assertion.c:607,9'
          Dst:             ebitmap_cpy
        - Src:             'assertion.c:610,9'
          Dst:             ebitmap_and
        - Src:             'assertion.c:615,8'
          Dst:             ebitmap_and
        - Src:             'assertion.c:620,9'
          Dst:             ebitmap_and
        - Src:             'assertion.c:625,10'
          Dst:             ebitmap_union
        - Src:             'assertion.c:637,2'
          Dst:             ebitmap_start
        - Src:             'assertion.c:637,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:638,3'
          Dst:             ebitmap_start
        - Src:             'assertion.c:638,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:643,8'
          Dst:             check_assertion_extended_permissions_avtab
        - Src:             'assertion.c:638,3'
          Dst:             ebitmap_next
        - Src:             'assertion.c:637,2'
          Dst:             ebitmap_next
        - Src:             'assertion.c:654,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:655,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:656,2'
          Dst:             ebitmap_destroy
    - functionName:    check_assertion_self_match
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          69
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_and
        - ebitmap_destroy
        - ebitmap_match_any
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:724,7'
          Dst:             ebitmap_and
        - Src:             'assertion.c:728,7'
          Dst:             ebitmap_match_any
        - Src:             'assertion.c:737,2'
          Dst:             ebitmap_destroy
    - functionName:    check_assertion_notself_match
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 661
      functionLinenumberEnd: 712
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          170
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_and
        - ebitmap_cardinality
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:666,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:667,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:669,7'
          Dst:             ebitmap_and
        - Src:             'assertion.c:675,8'
          Dst:             ebitmap_cpy
        - Src:             'assertion.c:678,8'
          Dst:             ebitmap_and
        - Src:             'assertion.c:683,20'
          Dst:             ebitmap_cardinality
        - Src:             'assertion.c:684,20'
          Dst:             ebitmap_cardinality
        - Src:             'assertion.c:692,8'
          Dst:             ebitmap_and
        - Src:             'assertion.c:694,4'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:697,17'
          Dst:             ebitmap_cardinality
        - Src:             'assertion.c:698,3'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:710,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:711,2'
          Dst:             ebitmap_destroy
    - functionName:    report_assertion_failures
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 452
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          75
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - avtab_map
        - report_assertion_avtab_matches
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:439,7'
          Dst:             avtab_map
        - Src:             'assertion.c:439,7'
          Dst:             report_assertion_avtab_matches
        - Src:             'assertion.c:444,7'
          Dst:             avtab_map
        - Src:             'assertion.c:444,7'
          Dst:             report_assertion_avtab_matches
    - functionName:    check_assertions
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 817
      functionLinenumberEnd: 844
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          254
      EdgeCount:       56
      CyclomaticComplexity: 14
      functionsReached:
        - check_assertion
        - report_assertion_failures
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:825,8'
          Dst:             check_assertion
        - Src:             'assertion.c:831,9'
          Dst:             report_assertion_failures
    - functionName:    check_assertion
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 795
      functionLinenumberEnd: 812
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - avtab_map
        - check_assertion_avtab_match
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:805,7'
          Dst:             avtab_map
        - Src:             'assertion.c:805,7'
          Dst:             check_assertion_avtab_match
        - Src:             'assertion.c:809,8'
          Dst:             avtab_map
        - Src:             'assertion.c:809,8'
          Dst:             check_assertion_avtab_match
    - functionName:    check_assertion_avtab_match
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 742
      functionLinenumberEnd: 792
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          218
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached:
        - check_assertion_extended_permissions
        - check_assertion_notself_match
        - check_assertion_self_match
        - ebitmap_match_any
        - match_any_class_permissions
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'assertion.c:751,7'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:754,7'
          Dst:             ebitmap_match_any
        - Src:             'assertion.c:758,8'
          Dst:             check_assertion_notself_match
        - Src:             'assertion.c:765,8'
          Dst:             ebitmap_match_any
        - Src:             'assertion.c:767,10'
          Dst:             check_assertion_self_match
        - Src:             'assertion.c:779,8'
          Dst:             check_assertion_extended_permissions
    - functionName:    is_perm_existent
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_search
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'avrule_block.c:199,9'
          Dst:             hashtab_search
        - Src:             'avrule_block.c:204,7'
          Dst:             hashtab_search
    - functionName:    is_id_enabled
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          178
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - hashtab_search
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'avrule_block.c:158,24'
          Dst:             hashtab_search
    - functionName:    get_decl_cond_list
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - cond_node_find
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'avrule_block.c:143,11'
          Dst:             cond_node_find
    - functionName:    avrule_block_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - avrule_block_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'avrule_block.c:131,3'
          Dst:             avrule_block_destroy
    - functionName:    avrule_block_destroy
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - avrule_decl_destroy
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'avrule_block.c:121,3'
          Dst:             avrule_decl_destroy
    - functionName:    avrule_decl_destroy
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          64
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - avrule_list_destroy
        - cond_list_destroy
        - filename_trans_rule_list_destroy
        - range_trans_rule_list_destroy
        - role_allow_rule_list_destroy
        - role_trans_rule_list_destroy
        - scope_index_destroy
        - symtabs_destroy
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'avrule_block.c:99,2'
          Dst:             cond_list_destroy
        - Src:             'avrule_block.c:100,2'
          Dst:             avrule_list_destroy
        - Src:             'avrule_block.c:101,2'
          Dst:             role_trans_rule_list_destroy
        - Src:             'avrule_block.c:102,2'
          Dst:             filename_trans_rule_list_destroy
        - Src:             'avrule_block.c:103,2'
          Dst:             role_allow_rule_list_destroy
        - Src:             'avrule_block.c:104,2'
          Dst:             range_trans_rule_list_destroy
        - Src:             'avrule_block.c:105,2'
          Dst:             scope_index_destroy
        - Src:             'avrule_block.c:106,2'
          Dst:             scope_index_destroy
        - Src:             'avrule_block.c:107,2'
          Dst:             symtabs_destroy
    - functionName:    scope_index_destroy
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          84
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - ebitmap_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'avrule_block.c:84,3'
          Dst:             ebitmap_destroy
        - Src:             'avrule_block.c:88,4'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avrule_decl_create
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          98
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - avrule_decl_destroy
        - calloc
        - ebitmap_init
        - symtab_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'avrule_block.c:57,14'
          Dst:             calloc
        - Src:             'avrule_block.c:62,7'
          Dst:             symtab_init
        - Src:             'avrule_block.c:63,4'
          Dst:             avrule_decl_destroy
        - Src:             'avrule_block.c:69,3'
          Dst:             ebitmap_init
        - Src:             'avrule_block.c:70,3'
          Dst:             ebitmap_init
    - functionName:    avrule_block_create
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'avrule_block.c:47,15'
          Dst:             calloc
    - functionName:    avtab_insertf
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 586
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - avtab_insert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:587,9'
          Dst:             avtab_insert
    - functionName:    avtab_insert
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          285
      EdgeCount:       56
      CyclomaticComplexity: 17
      functionsReached:
        - avtab_hash
        - avtab_insert_node
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:146,11'
          Dst:             avtab_hash
        - Src:             'avtab.c:169,12'
          Dst:             avtab_insert_node
    - functionName:    avtab_hash
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          139
      EdgeCount:       13
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avtab_insert_node
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          147
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:106,12'
          Dst:             calloc
    - functionName:    exceeds_available_bytes
      functionSourceFile: '/src/selinux/libsepol/src/./private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avtab_read
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 591
      functionLinenumberEnd: 631
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          444
      EdgeCount:       97
      CyclomaticComplexity: 23
      functionsReached:
        - avtab_alloc
        - avtab_destroy
        - avtab_insertf
        - avtab_read_item
        - exceeds_available_bytes
        - next_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:597,7'
          Dst:             next_entry
        - Src:             'avtab.c:603,32'
          Dst:             exceeds_available_bytes
        - Src:             'avtab.c:608,7'
          Dst:             avtab_alloc
        - Src:             'avtab.c:615,8'
          Dst:             avtab_read_item
        - Src:             'avtab.c:615,8'
          Dst:             avtab_insertf
        - Src:             'avtab.c:629,2'
          Dst:             avtab_destroy
    - functionName:    avtab_alloc
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          115
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:384,14'
          Dst:             calloc
    - functionName:    avtab_read_item
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 582
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         212
      ICount:          1422
      EdgeCount:       275
      CyclomaticComplexity: 65
      functionsReached:
        - next_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:452,8'
          Dst:             next_entry
        - Src:             'avtab.c:464,8'
          Dst:             next_entry
        - Src:             'avtab.c:526,7'
          Dst:             next_entry
        - Src:             'avtab.c:553,8'
          Dst:             next_entry
        - Src:             'avtab.c:559,8'
          Dst:             next_entry
        - Src:             'avtab.c:565,8'
          Dst:             next_entry
        - Src:             'avtab.c:574,8'
          Dst:             next_entry
    - functionName:    avtab_destroy
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          117
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avtab_hash_eval
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          102
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - printf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:416,2'
          Dst:             printf
    - functionName:    printf
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avtab_init
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 360
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avtab_map
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avtab_search_node_next
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          226
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avtab_search_node
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         37
      ICount:          251
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - avtab_hash
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:258,11'
          Dst:             avtab_hash
    - functionName:    avtab_search
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         37
      ICount:          252
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - avtab_hash
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:223,11'
          Dst:             avtab_hash
    - functionName:    avtab_insert_nonunique
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          264
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - avtab_hash
        - avtab_insert_node
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:190,11'
          Dst:             avtab_hash
        - Src:             'avtab.c:208,12'
          Dst:             avtab_insert_node
    - functionName:    cond_insertf
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 694
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         60
      ICount:          392
      EdgeCount:       77
      CyclomaticComplexity: 19
      functionsReached:
        - avtab_insert_nonunique
        - avtab_search
        - avtab_search_node
        - avtab_search_node_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:635,7'
          Dst:             avtab_search
        - Src:             'conditional.c:648,15'
          Dst:             avtab_search_node
        - Src:             'conditional.c:650,9'
          Dst:             avtab_search_node_next
        - Src:             'conditional.c:668,8'
          Dst:             avtab_search
        - Src:             'conditional.c:675,13'
          Dst:             avtab_insert_nonunique
    - functionName:    cond_read_av_list
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 698
      functionLinenumberEnd: 731
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          108
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - avtab_read_item
        - cond_av_list_destroy
        - cond_insertf
        - next_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:706,7'
          Dst:             next_entry
        - Src:             'conditional.c:720,8'
          Dst:             avtab_read_item
        - Src:             'conditional.c:720,8'
          Dst:             cond_insertf
        - Src:             'conditional.c:723,4'
          Dst:             cond_av_list_destroy
    - functionName:    cond_av_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expr_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 745
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          135
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cond_av_list_search
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 891
      functionLinenumberEnd: 906
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          94
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cond_compute_av
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 863
      functionLinenumberEnd: 887
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          142
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - avtab_search_node
        - avtab_search_node_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:869,14'
          Dst:             avtab_search_node
        - Src:             'conditional.c:870,14'
          Dst:             avtab_search_node_next
    - functionName:    cond_read_node
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 819
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          255
      EdgeCount:       55
      CyclomaticComplexity: 17
      functionsReached:
        - avrule_read_list
        - cond_node_destroy
        - cond_read_av_list
        - expr_isvalid
        - next_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:753,7'
          Dst:             next_entry
        - Src:             'conditional.c:759,7'
          Dst:             next_entry
        - Src:             'conditional.c:767,8'
          Dst:             next_entry
        - Src:             'conditional.c:780,8'
          Dst:             expr_isvalid
        - Src:             'conditional.c:794,7'
          Dst:             cond_read_av_list
        - Src:             'conditional.c:796,7'
          Dst:             cond_read_av_list
        - Src:             'conditional.c:800,7'
          Dst:             avrule_read_list
        - Src:             'conditional.c:802,7'
          Dst:             avrule_read_list
        - Src:             'conditional.c:808,8'
          Dst:             next_entry
        - Src:             'conditional.c:816,2'
          Dst:             cond_node_destroy
    - functionName:    cond_node_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 496
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - avrule_list_destroy
        - cond_av_list_destroy
        - cond_expr_destroy
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:491,2'
          Dst:             cond_expr_destroy
        - Src:             'conditional.c:492,2'
          Dst:             avrule_list_destroy
        - Src:             'conditional.c:493,2'
          Dst:             avrule_list_destroy
        - Src:             'conditional.c:494,2'
          Dst:             cond_av_list_destroy
        - Src:             'conditional.c:495,2'
          Dst:             cond_av_list_destroy
    - functionName:    cond_expr_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          45
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cond_read_list
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 822
      functionLinenumberEnd: 856
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          123
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - avtab_alloc
        - cond_read_node
        - next_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:827,7'
          Dst:             next_entry
        - Src:             'conditional.c:833,7'
          Dst:             avtab_alloc
        - Src:             'conditional.c:843,7'
          Dst:             cond_read_node
    - functionName:    bool_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 561
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          35
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cond_read_bool
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 570
      functionLinenumberEnd: 610
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          145
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - bool_isvalid
        - cond_destroy_bool
        - hashtab_insert
        - next_entry
        - str_read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:581,7'
          Dst:             next_entry
        - Src:             'conditional.c:588,7'
          Dst:             bool_isvalid
        - Src:             'conditional.c:592,6'
          Dst:             str_read
        - Src:             'conditional.c:597,8'
          Dst:             next_entry
        - Src:             'conditional.c:603,6'
          Dst:             hashtab_insert
        - Src:             'conditional.c:608,2'
          Dst:             cond_destroy_bool
    - functionName:    cond_destroy_bool
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 537
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cond_index_bool
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 541
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          96
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cond_init_bool_indexes
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 521
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:525,6'
          Dst:             calloc
    - functionName:    cond_policydb_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 518
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - avtab_destroy
        - cond_list_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:516,2'
          Dst:             avtab_destroy
        - Src:             'conditional.c:517,2'
          Dst:             cond_list_destroy
    - functionName:    cond_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 510
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          47
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - cond_node_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:507,3'
          Dst:             cond_node_destroy
    - functionName:    cond_policydb_init
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - avtab_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:457,6'
          Dst:             avtab_init
    - functionName:    evaluate_cond_node
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          188
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - cond_evaluate_expr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:314,14'
          Dst:             cond_evaluate_expr
    - functionName:    cond_evaluate_expr
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          251
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'conditional.c:221,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    evaluate_conds
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          53
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - evaluate_cond_node
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:446,9'
          Dst:             evaluate_cond_node
    - functionName:    bool_present
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          73
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cond_normalize_expr
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 438
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         60
      ICount:          444
      EdgeCount:       74
      CyclomaticComplexity: 16
      functionsReached:
        - bool_present
        - cond_evaluate_expr
      functionUses:    4
      BranchProfiles:
        - Branch String:   'conditional.c:388,3'
          Branch Sides:    []
      Callsites:
        - Src:             'conditional.c:391,9'
          Dst:             bool_present
        - Src:             'conditional.c:421,8'
          Dst:             cond_evaluate_expr
    - functionName:    cond_node_search
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - cond_node_find
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:196,24'
          Dst:             cond_node_find
    - functionName:    cond_node_find
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cond_expr_equal
        - cond_node_create
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:180,7'
          Dst:             cond_expr_equal
        - Src:             'conditional.c:188,9'
          Dst:             cond_node_create
    - functionName:    cond_expr_equal
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         37
      ICount:          190
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - same_bools
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:112,8'
          Dst:             same_bools
    - functionName:    cond_node_create
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          134
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - cond_copy_expr
        - cond_evaluate_expr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:154,20'
          Dst:             cond_copy_expr
        - Src:             'conditional.c:159,25'
          Dst:             cond_evaluate_expr
    - functionName:    cond_copy_expr
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          109
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    same_bools
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - bool_present
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:90,8'
          Dst:             bool_present
    - functionName:    cond_optimize
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cond_optimize_lists
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          38
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - cond_optimize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'conditional.c:57,3'
          Dst:             cond_optimize
        - Src:             'conditional.c:58,3'
          Dst:             cond_optimize
    - functionName:    constraint_expr_destroy
      functionSourceFile: '/src/selinux/libsepol/src/constraint.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - type_set_destroy
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'constraint.c:45,3'
          Dst:             ebitmap_destroy
        - Src:             'constraint.c:46,3'
          Dst:             type_set_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    constraint_expr_init
      functionSourceFile: '/src/selinux/libsepol/src/constraint.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_init
        - type_set_init
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'constraint.c:31,2'
          Dst:             ebitmap_init
        - Src:             'constraint.c:35,2'
          Dst:             type_set_init
    - functionName:    mls_range_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:142,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:143,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - mls_level_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:98,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:99,2'
          Dst:             mls_level_init
    - functionName:    mls_context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_range_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:42,2'
          Dst:             mls_range_init
    - functionName:    mls_range_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:148,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:149,2'
          Dst:             mls_level_destroy
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_init
        - mls_range_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:112,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:113,2'
          Dst:             mls_context_init
    - functionName:    sepol_context_check
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - context_destroy
        - context_from_record
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'context.c:339,12'
          Dst:             context_from_record
        - Src:             'context.c:340,2'
          Dst:             context_destroy
    - functionName:    context_from_record
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         117
      ICount:          720
      EdgeCount:       151
      CyclomaticComplexity: 36
      functionsReached:
        - __errno_location
        - context_destroy
        - context_init
        - context_is_valid
        - hashtab_search
        - mls_from_string
        - sepol_context_get_mls
        - sepol_context_get_role
        - sepol_context_get_type
        - sepol_context_get_user
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'context.c:155,22'
          Dst:             sepol_context_get_user
        - Src:             'context.c:155,15'
          Dst:             strdup
        - Src:             'context.c:156,22'
          Dst:             sepol_context_get_role
        - Src:             'context.c:156,15'
          Dst:             strdup
        - Src:             'context.c:157,22'
          Dst:             sepol_context_get_type
        - Src:             'context.c:157,15'
          Dst:             strdup
        - Src:             'context.c:158,20'
          Dst:             sepol_context_get_mls
        - Src:             'context.c:165,2'
          Dst:             context_init
        - Src:             'context.c:168,30'
          Dst:             hashtab_search
        - Src:             'context.c:177,30'
          Dst:             hashtab_search
        - Src:             'context.c:186,30'
          Dst:             hashtab_search
        - Src:             'context.c:203,14'
          Dst:             mls_from_string
        - Src:             'context.c:207,7'
          Dst:             context_is_valid
        - Src:             'context.c:227,2'
          Dst:             __errno_location
        - Src:             'context.c:228,2'
          Dst:             context_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:135,2'
          Dst:             mls_context_destroy
    - functionName:    context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    context_is_valid
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          202
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - ebitmap_get_bit
        - ebitmap_init
        - mls_context_isvalid
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'context.c:42,2'
          Dst:             ebitmap_init
        - Src:             'context.c:43,2'
          Dst:             ebitmap_init
        - Src:             'context.c:58,17'
          Dst:             ebitmap_get_bit
        - Src:             'context.c:69,8'
          Dst:             ebitmap_get_bit
        - Src:             'context.c:74,7'
          Dst:             mls_context_isvalid
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    context_from_string
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          250
      EdgeCount:       51
      CyclomaticComplexity: 13
      functionsReached:
        - context_from_record
        - sepol_context_free
        - sepol_context_from_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'context.c:315,6'
          Dst:             sepol_context_from_string
        - Src:             'context.c:319,6'
          Dst:             context_from_record
        - Src:             'context.c:323,2'
          Dst:             sepol_context_free
        - Src:             'context.c:329,2'
          Dst:             sepol_context_free
    - functionName:    context_to_record
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          197
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - mls_to_string
        - sepol_context_create
        - sepol_context_free
        - sepol_context_set_mls
        - sepol_context_set_role
        - sepol_context_set_type
        - sepol_context_set_user
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'context.c:251,6'
          Dst:             sepol_context_create
        - Src:             'context.c:254,6'
          Dst:             sepol_context_set_user
        - Src:             'context.c:259,6'
          Dst:             sepol_context_set_role
        - Src:             'context.c:264,6'
          Dst:             sepol_context_set_type
        - Src:             'context.c:270,7'
          Dst:             mls_to_string
        - Src:             'context.c:273,7'
          Dst:             sepol_context_set_mls
        - Src:             'context.c:283,2'
          Dst:             sepol_context_free
    - functionName:    context_to_string
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          246
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - mls_compute_context_len
        - mls_sid_to_context
        - sprintf
        - strlen
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'context.c:99,6'
          Dst:             strlen
        - Src:             'context.c:101,6'
          Dst:             strlen
        - Src:             'context.c:102,18'
          Dst:             strlen
        - Src:             'context.c:103,18'
          Dst:             mls_compute_context_len
        - Src:             'context.c:118,2'
          Dst:             sprintf
        - Src:             'context.c:124,6'
          Dst:             strlen
        - Src:             'context.c:125,6'
          Dst:             strlen
        - Src:             'context.c:126,6'
          Dst:             strlen
        - Src:             'context.c:128,2'
          Dst:             mls_sid_to_context
    - functionName:    sepol_check_context
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_context_to_sid
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'context.c:26,9'
          Dst:             strlen
        - Src:             'context.c:25,9'
          Dst:             sepol_context_to_sid
    - functionName:    policydb_context_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 17
      functionLinenumberEnd: 19
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - context_is_valid
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'context.c:19,9'
          Dst:             context_is_valid
    - functionName:    sepol_context_to_string
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 321
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          382
      EdgeCount:       71
      CyclomaticComplexity: 17
      functionsReached:
        - snprintf
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'context_record.c:278,4'
          Dst:             strlen
        - Src:             'context_record.c:279,4'
          Dst:             strlen
        - Src:             'context_record.c:280,4'
          Dst:             strlen
        - Src:             'context_record.c:281,17'
          Dst:             strlen
        - Src:             'context_record.c:298,8'
          Dst:             snprintf
        - Src:             'context_record.c:301,8'
          Dst:             snprintf
    - 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:    68
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_context_from_string
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          331
      EdgeCount:       72
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - sepol_context_create
        - sepol_context_free
        - sepol_context_set_mls
        - sepol_context_set_role
        - sepol_context_set_type
        - sepol_context_set_user
        - strchr
        - strcmp
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'context_record.c:205,7'
          Dst:             strcmp
        - Src:             'context_record.c:210,6'
          Dst:             sepol_context_create
        - Src:             'context_record.c:214,8'
          Dst:             strdup
        - Src:             'context_record.c:224,15'
          Dst:             strchr
        - Src:             'context_record.c:228,6'
          Dst:             sepol_context_set_user
        - Src:             'context_record.c:233,15'
          Dst:             strchr
        - Src:             'context_record.c:237,6'
          Dst:             sepol_context_set_role
        - Src:             'context_record.c:242,15'
          Dst:             strchr
        - Src:             'context_record.c:243,7'
          Dst:             sepol_context_set_type
        - Src:             'context_record.c:247,7'
          Dst:             sepol_context_set_type
        - Src:             'context_record.c:250,7'
          Dst:             sepol_context_set_mls
        - Src:             'context_record.c:260,2'
          Dst:             __errno_location
        - Src:             'context_record.c:266,2'
          Dst:             sepol_context_free
    - functionName:    sepol_context_create
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          96
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_context_set_user
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'context_record.c:37,19'
          Dst:             strdup
    - functionName:    sepol_context_set_role
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'context_record.c:62,19'
          Dst:             strdup
    - functionName:    sepol_context_set_type
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'context_record.c:86,19'
          Dst:             strdup
    - functionName:    sepol_context_set_mls
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'context_record.c:110,18'
          Dst:             strdup
    - functionName:    sepol_context_free
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_context_clone
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          217
      EdgeCount:       48
      CyclomaticComplexity: 13
      functionsReached:
        - sepol_context_create
        - sepol_context_free
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'context_record.c:155,6'
          Dst:             sepol_context_create
        - Src:             'context_record.c:158,24'
          Dst:             strdup
        - Src:             'context_record.c:161,24'
          Dst:             strdup
        - Src:             'context_record.c:164,24'
          Dst:             strdup
        - Src:             'context_record.c:167,35'
          Dst:             strdup
        - Src:             'context_record.c:178,2'
          Dst:             sepol_context_free
    - functionName:    sepol_context_get_mls
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_context_get_type
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_context_get_role
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_context_get_user
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 29
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_msg_set_callback
      functionSourceFile: '/src/selinux/libsepol/src/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_msg_get_fname
      functionSourceFile: '/src/selinux/libsepol/src/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_msg_get_channel
      functionSourceFile: '/src/selinux/libsepol/src/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 29
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_msg_get_level
      functionSourceFile: '/src/selinux/libsepol/src/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 22
      functionLinenumberEnd: 23
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_debug
      functionSourceFile: '/src/selinux/libsepol/src/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 17
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_msg_default_handler
      functionSourceFile: '/src/selinux/libsepol/src/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       19
      CyclomaticComplexity: 11
      functionsReached:
        - fprintf
        - sepol_msg_get_channel
        - sepol_msg_get_fname
        - sepol_msg_get_level
        - vfprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'debug.c:49,2'
          Branch Sides:    []
      Callsites:
        - Src:             'debug.c:49,10'
          Dst:             sepol_msg_get_level
        - Src:             'debug.c:62,3'
          Dst:             sepol_msg_get_channel
        - Src:             'debug.c:62,34'
          Dst:             sepol_msg_get_fname
        - Src:             'debug.c:61,2'
          Dst:             fprintf
        - Src:             'debug.c:65,2'
          Dst:             vfprintf
        - Src:             'debug.c:68,2'
          Dst:             fprintf
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_read
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 531
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         99
      ICount:          682
      EdgeCount:       127
      CyclomaticComplexity: 30
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - next_entry
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:537,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:539,7'
          Dst:             next_entry
        - Src:             'ebitmap.c:567,8'
          Dst:             next_entry
        - Src:             'ebitmap.c:592,8'
          Dst:             next_entry
        - Src:             'ebitmap.c:631,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_destroy
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 512
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    147
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_highest_set_bit
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 492
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_init_range
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          215
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:453,2'
          Dst:             ebitmap_init
    - functionName:    ebitmap_set_bit
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 370
      functionLinenumberEnd: 441
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          310
      EdgeCount:       58
      CyclomaticComplexity: 16
      functionsReached: []
      functionUses:    65
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_get_bit
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    39
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_match_any
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          104
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_contains
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          121
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_cpy
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          86
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
      functionUses:    30
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:276,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:282,4'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_cmp
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          109
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_hamming_distance
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_cardinality
        - ebitmap_cmp
        - ebitmap_destroy
        - ebitmap_xor
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:240,6'
          Dst:             ebitmap_cmp
        - Src:             'ebitmap.c:242,7'
          Dst:             ebitmap_xor
        - Src:             'ebitmap.c:245,13'
          Dst:             ebitmap_cardinality
        - Src:             'ebitmap.c:246,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_xor
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          228
      EdgeCount:       46
      CyclomaticComplexity: 13
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:120,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:144,5'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_cardinality
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          38
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_andnot
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          59
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_and
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_not
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:213,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:214,7'
          Dst:             ebitmap_not
        - Src:             'ebitmap.c:217,7'
          Dst:             ebitmap_and
        - Src:             'ebitmap.c:218,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_not
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          178
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:169,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:190,5'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_and
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          175
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:77,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:87,6'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_union
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - ebitmap_or
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:63,6'
          Dst:             ebitmap_or
        - Src:             'ebitmap.c:65,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_or
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 19
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          225
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ebitmap.c:23,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:31,4'
          Dst:             ebitmap_destroy
    - functionName:    expand_cond_insert
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3531
      functionLinenumberEnd: 3573
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          253
      EdgeCount:       40
      CyclomaticComplexity: 8
      functionsReached:
        - avtab_insert_nonunique
        - avtab_search_node
      functionUses:    4
      BranchProfiles:
        - Branch String:   'expand.c:3559,2'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:3536,9'
          Dst:             avtab_search_node
        - Src:             'expand.c:3540,10'
          Dst:             avtab_insert_nonunique
    - functionName:    expand_avtab_insert
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3387
      functionLinenumberEnd: 3446
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          334
      EdgeCount:       60
      CyclomaticComplexity: 12
      functionsReached:
        - avtab_insert_nonunique
        - avtab_search_node
        - avtab_search_node_next
      functionUses:    4
      BranchProfiles:
        - Branch String:   'expand.c:3426,2'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:3399,10'
          Dst:             avtab_search_node
        - Src:             'expand.c:3406,11'
          Dst:             avtab_search_node_next
        - Src:             'expand.c:3411,10'
          Dst:             avtab_search_node
        - Src:             'expand.c:3416,10'
          Dst:             avtab_insert_nonunique
    - functionName:    mls_range_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - mls_level_cpy
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:125,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:128,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:134,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cpy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:81,6'
          Dst:             ebitmap_cpy
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - mls_level_init
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:98,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:99,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_range_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:49,6'
          Dst:             mls_range_cpy
    - functionName:    context_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2270
      functionLinenumberEnd: 2274
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          59
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_context_cpy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2274,9'
          Dst:             mls_context_cpy
    - functionName:    ocontext_copy_xen
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2278
      functionLinenumberEnd: 2341
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         74
      ICount:          494
      EdgeCount:       91
      CyclomaticComplexity: 19
      functionsReached:
        - context_copy
        - strdup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'expand.c:2302,4'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:2322,17'
          Dst:             strdup
        - Src:             'expand.c:2333,8'
          Dst:             context_copy
    - functionName:    ocontext_copy_selinux
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2344
      functionLinenumberEnd: 2434
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         116
      ICount:          804
      EdgeCount:       144
      CyclomaticComplexity: 30
      functionsReached:
        - context_copy
        - strdup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'expand.c:2368,4'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:2374,17'
          Dst:             strdup
        - Src:             'expand.c:2379,9'
          Dst:             context_copy
        - Src:             'expand.c:2392,31'
          Dst:             strdup
        - Src:             'expand.c:2410,17'
          Dst:             strdup
        - Src:             'expand.c:2427,8'
          Dst:             context_copy
    - functionName:    ebitmap_expand_roles
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          139
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
        - ebitmap_union
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:81,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:82,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:82,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:84,3'
          Dst:             __assert_fail
        - Src:             'expand.c:86,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:87,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:91,8'
          Dst:             ebitmap_union
        - Src:             'expand.c:92,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:82,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:97,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:98,6'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:99,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:102,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    28
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    33
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    33
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    33
      BranchProfiles:  []
      Callsites:       []
    - functionName:    constraint_node_clone
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 377
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         64
      ICount:          401
      EdgeCount:       85
      CyclomaticComplexity: 23
      functionsReached:
        - calloc
        - constraint_expr_destroy
        - constraint_expr_init
        - ebitmap_cpy
        - ebitmap_expand_roles
        - expand_convert_type_set
        - map_ebitmap
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:391,20'
          Dst:             calloc
        - Src:             'expand.c:394,8'
          Dst:             constraint_expr_init
        - Src:             'expand.c:407,10'
          Dst:             map_ebitmap
        - Src:             'expand.c:414,10'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:424,10'
          Dst:             map_ebitmap
        - Src:             'expand.c:427,10'
          Dst:             ebitmap_expand_roles
        - Src:             'expand.c:431,10'
          Dst:             map_ebitmap
        - Src:             'expand.c:436,10'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:464,2'
          Dst:             constraint_expr_destroy
    - functionName:    map_ebitmap
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          100
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:63,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:65,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:65,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:68,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:65,2'
          Dst:             ebitmap_next
    - functionName:    expand_convert_type_set
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2553
      functionLinenumberEnd: 2572
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - map_ebitmap
        - type_set_destroy
        - type_set_expand
        - type_set_init
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2556,2'
          Dst:             type_set_init
        - Src:             'expand.c:2558,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:2561,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:2566,6'
          Dst:             type_set_expand
        - Src:             'expand.c:2569,2'
          Dst:             type_set_destroy
    - functionName:    type_set_expand
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2688
      functionLinenumberEnd: 2788
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         110
      ICount:          571
      EdgeCount:       147
      CyclomaticComplexity: 39
      functionsReached:
        - __assert_fail
        - ebitmap_destroy
        - ebitmap_get_bit
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
        - ebitmap_union
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2696,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2697,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2700,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2700,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2716,8'
          Dst:             ebitmap_union
        - Src:             'expand.c:2720,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2700,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:2727,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2728,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2728,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2731,8'
          Dst:             ebitmap_union
        - Src:             'expand.c:2737,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2728,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:2746,8'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2751,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2757,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2757,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2758,8'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2759,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2757,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:2767,5'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2767,5'
          Dst:             __assert_fail
        - Src:             'expand.c:2770,8'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2771,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2774,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2784,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2786,2'
          Dst:             ebitmap_destroy
    - functionName:    class_copy_default_new_object
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 502
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          413
      EdgeCount:       88
      CyclomaticComplexity: 22
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    perm_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          94
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_insert
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:296,11'
          Dst:             strdup
        - Src:             'expand.c:305,8'
          Dst:             hashtab_insert
    - functionName:    cond_avrule_list_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2163
      functionLinenumberEnd: 2179
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - convert_and_expand_rule
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2168,7'
          Dst:             convert_and_expand_rule
    - functionName:    convert_and_expand_rule
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2127
      functionLinenumberEnd: 2157
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          156
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - expand_convert_type_set
        - expand_rule_helper
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2137,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2138,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2144,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:2147,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:2151,11'
          Dst:             expand_rule_helper
        - Src:             'expand.c:2154,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2155,2'
          Dst:             ebitmap_destroy
    - functionName:    expand_rule_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2072
      functionLinenumberEnd: 2113
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          284
      EdgeCount:       54
      CyclomaticComplexity: 15
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - expand_avrule_helper
        - expand_terule_helper
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2077,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2077,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2080,14'
          Dst:             expand_avrule_helper
        - Src:             'expand.c:2086,14'
          Dst:             expand_terule_helper
        - Src:             'expand.c:2094,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:2094,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2096,14'
          Dst:             expand_avrule_helper
        - Src:             'expand.c:2102,14'
          Dst:             expand_terule_helper
        - Src:             'expand.c:2094,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:2077,2'
          Dst:             ebitmap_next
    - functionName:    expand_avrule_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2001
      functionLinenumberEnd: 2064
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          284
      EdgeCount:       50
      CyclomaticComplexity: 10
      functionsReached:
        - allocate_xperms
        - avrule_to_avtab_spec
        - find_avtab_node
      functionUses:    2
      BranchProfiles:
        - Branch String:   'expand.c:2030,3'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:2014,20'
          Dst:             avrule_to_avtab_spec
        - Src:             'expand.c:2020,10'
          Dst:             find_avtab_node
        - Src:             'expand.c:2053,8'
          Dst:             allocate_xperms
    - functionName:    expand_terule_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1866
      functionLinenumberEnd: 1955
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          538
      EdgeCount:       92
      CyclomaticComplexity: 24
      functionsReached:
        - avrule_to_avtab_spec
        - avtab_search_node
        - find_avtab_node
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1879,20'
          Dst:             avrule_to_avtab_spec
        - Src:             'expand.c:1893,10'
          Dst:             avtab_search_node
        - Src:             'expand.c:1897,11'
          Dst:             avtab_search_node
        - Src:             'expand.c:1939,10'
          Dst:             find_avtab_node
    - functionName:    avrule_to_avtab_spec
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1851
      functionLinenumberEnd: 1853
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    find_avtab_node
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1782
      functionLinenumberEnd: 1848
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          382
      EdgeCount:       84
      CyclomaticComplexity: 21
      functionsReached:
        - avtab_insert_nonunique
        - avtab_search_node
        - avtab_search_node_next
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1794,11'
          Dst:             avtab_search_node
        - Src:             'expand.c:1801,12'
          Dst:             avtab_search_node_next
        - Src:             'expand.c:1807,10'
          Dst:             avtab_search_node
        - Src:             'expand.c:1816,11'
          Dst:             avtab_search_node_next
        - Src:             'expand.c:1828,10'
          Dst:             avtab_insert_nonunique
    - functionName:    allocate_xperms
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1960
      functionLinenumberEnd: 1993
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          171
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'expand.c:1974,2'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:1966,4'
          Dst:             calloc
    - functionName:    cond_node_map_bools
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2182
      functionLinenumberEnd: 2202
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          178
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - cond_normalize_expr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2196,6'
          Dst:             cond_normalize_expr
    - functionName:    mls_level_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:104,36'
          Dst:             ebitmap_cmp
    - functionName:    mls_range_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_level_eq
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:154,10'
          Dst:             mls_level_eq
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:155,10'
          Dst:             mls_level_eq
    - functionName:    exp_rangetr_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1655
      functionLinenumberEnd: 1717
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          390
      EdgeCount:       67
      CyclomaticComplexity: 17
      functionsReached:
        - calloc
        - hashtab_insert
        - hashtab_search
        - mls_range_destroy
        - mls_range_eq
        - mls_semantic_range_expand
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1660,14'
          Dst:             calloc
        - Src:             'expand.c:1666,6'
          Dst:             mls_semantic_range_expand
        - Src:             'expand.c:1674,6'
          Dst:             hashtab_search
        - Src:             'expand.c:1676,7'
          Dst:             mls_range_eq
        - Src:             'expand.c:1678,4'
          Dst:             mls_range_destroy
        - Src:             'expand.c:1692,7'
          Dst:             calloc
        - Src:             'expand.c:1701,7'
          Dst:             hashtab_insert
        - Src:             'expand.c:1713,3'
          Dst:             mls_range_destroy
    - functionName:    mls_semantic_range_expand
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1129
      functionLinenumberEnd: 1145
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          129
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - mls_level_destroy
        - mls_level_dom
        - mls_range_destroy
        - mls_semantic_level_expand
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1130,6'
          Dst:             mls_semantic_level_expand
        - Src:             'expand.c:1133,6'
          Dst:             mls_semantic_level_expand
        - Src:             'expand.c:1134,3'
          Dst:             mls_level_destroy
        - Src:             'expand.c:1138,7'
          Dst:             mls_level_dom
        - Src:             'expand.c:1139,3'
          Dst:             mls_range_destroy
    - functionName:    mls_range_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_destroy
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:148,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:149,2'
          Dst:             mls_level_destroy
    - functionName:    mls_semantic_level_expand
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1075
      functionLinenumberEnd: 1125
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          473
      EdgeCount:       91
      CyclomaticComplexity: 23
      functionsReached:
        - __errno_location
        - ebitmap_get_bit
        - ebitmap_set_bit
        - hashtab_search
        - mls_level_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1080,2'
          Dst:             mls_level_init
        - Src:             'expand.c:1094,31'
          Dst:             hashtab_search
        - Src:             'expand.c:1099,3'
          Dst:             __errno_location
        - Src:             'expand.c:1110,9'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:1117,8'
          Dst:             ebitmap_set_bit
    - functionName:    mls_level_dom
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_contains
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:109,36'
          Dst:             ebitmap_contains
    - functionName:    expand_filename_trans_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1570
      functionLinenumberEnd: 1599
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          243
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - policydb_filetrans_insert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1576,7'
          Dst:             policydb_filetrans_insert
    - functionName:    cond_node_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2208
      functionLinenumberEnd: 2266
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          390
      EdgeCount:       71
      CyclomaticComplexity: 19
      functionsReached:
        - cond_avrule_list_copy
        - cond_node_copy
        - cond_node_create
        - cond_node_destroy
        - cond_node_map_bools
        - cond_node_search
        - cond_normalize_expr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2214,6'
          Dst:             cond_node_copy
        - Src:             'expand.c:2224,6'
          Dst:             cond_normalize_expr
        - Src:             'expand.c:2231,8'
          Dst:             cond_node_create
        - Src:             'expand.c:2237,6'
          Dst:             cond_node_map_bools
        - Src:             'expand.c:2238,3'
          Dst:             cond_node_destroy
        - Src:             'expand.c:2244,13'
          Dst:             cond_node_search
        - Src:             'expand.c:2246,3'
          Dst:             cond_node_destroy
        - Src:             'expand.c:2251,2'
          Dst:             cond_node_destroy
        - Src:             'expand.c:2254,6'
          Dst:             cond_avrule_list_copy
        - Src:             'expand.c:2259,6'
          Dst:             cond_avrule_list_copy
    - functionName:    copy_neverallow
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2793
      functionLinenumberEnd: 2890
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          342
      EdgeCount:       60
      CyclomaticComplexity: 17
      functionsReached:
        - __assert_fail
        - avrule_init
        - calloc
        - class_perm_node_init
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_init
        - expand_convert_type_set
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2799,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2800,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2802,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:2805,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:2813,2'
          Dst:             avrule_init
        - Src:             'expand.c:2819,29'
          Dst:             strdup
        - Src:             'expand.c:2824,6'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:2827,6'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:2837,3'
          Dst:             class_perm_node_init
        - Src:             'expand.c:2839,3'
          Dst:             __assert_fail
        - Src:             'expand.c:2855,12'
          Dst:             calloc
        - Src:             'expand.c:2871,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2872,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2877,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2878,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2879,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2880,2'
          Dst:             ebitmap_destroy
    - functionName:    expand_range_trans
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1721
      functionLinenumberEnd: 1772
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         71
      ICount:          407
      EdgeCount:       91
      CyclomaticComplexity: 22
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - exp_rangetr_helper
        - expand_convert_type_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1732,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1733,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1736,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1741,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1743,4'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1749,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:1749,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1751,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:1751,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1753,5'
          Dst:             ebitmap_start
        - Src:             'expand.c:1753,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1754,10'
          Dst:             exp_rangetr_helper
        - Src:             'expand.c:1759,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1760,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1753,5'
          Dst:             ebitmap_next
        - Src:             'expand.c:1751,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:1749,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:1767,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1768,3'
          Dst:             ebitmap_destroy
    - functionName:    expand_filename_trans
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1602
      functionLinenumberEnd: 1650
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          313
      EdgeCount:       70
      CyclomaticComplexity: 18
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - expand_convert_type_set
        - expand_filename_trans_helper
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1611,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1612,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1614,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1620,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1627,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:1627,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1628,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:1628,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1629,10'
          Dst:             expand_filename_trans_helper
        - Src:             'expand.c:1628,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:1636,10'
          Dst:             expand_filename_trans_helper
        - Src:             'expand.c:1627,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:1644,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1645,3'
          Dst:             ebitmap_destroy
    - functionName:    copy_role_trans
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1479
      functionLinenumberEnd: 1565
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         100
      ICount:          660
      EdgeCount:       130
      CyclomaticComplexity: 32
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - expand_convert_type_set
        - role_set_expand
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1491,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1492,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1494,7'
          Dst:             role_set_expand
        - Src:             'expand.c:1498,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1503,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:1503,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1504,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:1504,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1505,5'
          Dst:             ebitmap_start
        - Src:             'expand.c:1505,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1505,5'
          Dst:             ebitmap_next
        - Src:             'expand.c:1504,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:1503,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:1559,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1560,3'
          Dst:             ebitmap_destroy
    - functionName:    role_set_expand
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2613
      functionLinenumberEnd: 2677
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          332
      EdgeCount:       87
      CyclomaticComplexity: 23
      functionsReached:
        - __assert_fail
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_get_bit
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
        - ebitmap_union
        - map_ebitmap
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2620,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2624,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2629,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2630,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2633,7'
          Dst:             map_ebitmap
        - Src:             'expand.c:2635,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:2635,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2637,4'
          Dst:             __assert_fail
        - Src:             'expand.c:2639,9'
          Dst:             ebitmap_union
        - Src:             'expand.c:2642,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2635,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:2647,7'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:2651,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2651,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2652,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2651,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:2656,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2657,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2662,8'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2663,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2666,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2674,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2675,2'
          Dst:             ebitmap_destroy
    - functionName:    copy_role_allows
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1414
      functionLinenumberEnd: 1476
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         78
      ICount:          453
      EdgeCount:       101
      CyclomaticComplexity: 25
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - role_set_expand
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1426,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1427,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1429,7'
          Dst:             role_set_expand
        - Src:             'expand.c:1434,7'
          Dst:             role_set_expand
        - Src:             'expand.c:1439,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:1439,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1440,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:1440,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1440,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:1439,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:1469,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1470,3'
          Dst:             ebitmap_destroy
    - functionName:    expand_cond_av_node
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3578
      functionLinenumberEnd: 3634
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          448
      EdgeCount:       92
      CyclomaticComplexity: 25
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - expand_cond_insert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:3595,10'
          Dst:             expand_cond_insert
        - Src:             'expand.c:3601,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3601,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3603,9'
          Dst:             expand_cond_insert
        - Src:             'expand.c:3601,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3613,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3613,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3615,9'
          Dst:             expand_cond_insert
        - Src:             'expand.c:3613,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3623,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:3623,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3624,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3624,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3627,9'
          Dst:             expand_cond_insert
        - Src:             'expand.c:3624,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3623,2'
          Dst:             ebitmap_next
    - functionName:    expand_cond_av_list
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3638
      functionLinenumberEnd: 3657
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          112
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - avtab_alloc
        - expand_cond_av_node
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:3643,6'
          Dst:             avtab_alloc
        - Src:             'expand.c:3651,8'
          Dst:             expand_cond_av_node
    - functionName:    expand_avtab_node
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3455
      functionLinenumberEnd: 3512
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          447
      EdgeCount:       92
      CyclomaticComplexity: 25
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - expand_avtab_insert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:3473,10'
          Dst:             expand_avtab_insert
        - Src:             'expand.c:3479,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3479,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3481,9'
          Dst:             expand_avtab_insert
        - Src:             'expand.c:3479,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3491,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3491,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3493,9'
          Dst:             expand_avtab_insert
        - Src:             'expand.c:3491,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3501,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:3501,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3502,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3502,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3505,9'
          Dst:             expand_avtab_insert
        - Src:             'expand.c:3502,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3501,2'
          Dst:             ebitmap_next
    - functionName:    expand_avtab
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3515
      functionLinenumberEnd: 3526
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          79
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - avtab_alloc
        - avtab_map
        - expand_avtab_node
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:3518,6'
          Dst:             avtab_alloc
        - Src:             'expand.c:3525,9'
          Dst:             avtab_map
        - Src:             'expand.c:3525,9'
          Dst:             expand_avtab_node
    - functionName:    type_attr_map
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2507
      functionLinenumberEnd: 2545
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          238
      EdgeCount:       48
      CyclomaticComplexity: 13
      functionsReached:
        - ebitmap_cpy
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2520,8'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:2523,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:2523,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2524,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2523,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:2530,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2535,7'
          Dst:             ebitmap_set_bit
    - functionName:    genfs_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2454
      functionLinenumberEnd: 2502
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         58
      ICount:          384
      EdgeCount:       74
      CyclomaticComplexity: 18
      functionsReached:
        - context_copy
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2466,22'
          Dst:             strdup
        - Src:             'expand.c:2486,19'
          Dst:             strdup
        - Src:             'expand.c:2493,4'
          Dst:             context_copy
    - functionName:    ocontext_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2437
      functionLinenumberEnd: 2451
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - ocontext_copy_selinux
        - ocontext_copy_xen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'expand.c:2439,2'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:2441,8'
          Dst:             ocontext_copy_selinux
        - Src:             'expand.c:2444,8'
          Dst:             ocontext_copy_xen
    - functionName:    constraint_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 593
      functionLinenumberEnd: 616
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          133
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - constraint_node_clone
        - hashtab_search
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:602,14'
          Dst:             hashtab_search
        - Src:             'expand.c:609,6'
          Dst:             constraint_node_clone
        - Src:             'expand.c:611,9'
          Dst:             constraint_node_clone
    - functionName:    bool_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1263
      functionLinenumberEnd: 1318
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          370
      EdgeCount:       63
      CyclomaticComplexity: 16
      functionsReached:
        - hashtab_insert
        - is_id_enabled
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1273,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1292,11'
          Dst:             strdup
        - Src:             'expand.c:1302,8'
          Dst:             hashtab_insert
    - functionName:    user_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 684
      functionLinenumberEnd: 710
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          214
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - hashtab_search
        - is_id_enabled
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:693,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:698,9'
          Dst:             hashtab_search
    - functionName:    user_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1149
      functionLinenumberEnd: 1259
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         96
      ICount:          692
      EdgeCount:       126
      CyclomaticComplexity: 32
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_union
        - hashtab_insert
        - hashtab_search
        - is_id_enabled
        - mls_level_destroy
        - mls_level_dom
        - mls_level_eq
        - mls_range_destroy
        - mls_range_eq
        - mls_semantic_level_expand
        - mls_semantic_range_expand
        - role_set_expand
        - strdup
        - user_datum_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1161,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1170,23'
          Dst:             hashtab_search
        - Src:             'expand.c:1183,12'
          Dst:             strdup
        - Src:             'expand.c:1189,9'
          Dst:             hashtab_insert
        - Src:             'expand.c:1194,4'
          Dst:             user_datum_destroy
        - Src:             'expand.c:1201,7'
          Dst:             mls_semantic_range_expand
        - Src:             'expand.c:1206,7'
          Dst:             mls_semantic_level_expand
        - Src:             'expand.c:1211,8'
          Dst:             mls_level_dom
        - Src:             'expand.c:1211,8'
          Dst:             mls_level_dom
        - Src:             'expand.c:1223,7'
          Dst:             mls_semantic_range_expand
        - Src:             'expand.c:1227,7'
          Dst:             mls_semantic_level_expand
        - Src:             'expand.c:1229,4'
          Dst:             mls_range_destroy
        - Src:             'expand.c:1232,8'
          Dst:             mls_range_eq
        - Src:             'expand.c:1233,8'
          Dst:             mls_level_eq
        - Src:             'expand.c:1234,4'
          Dst:             mls_range_destroy
        - Src:             'expand.c:1235,4'
          Dst:             mls_level_destroy
        - Src:             'expand.c:1238,3'
          Dst:             mls_range_destroy
        - Src:             'expand.c:1239,3'
          Dst:             mls_level_destroy
        - Src:             'expand.c:1242,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:1245,6'
          Dst:             role_set_expand
        - Src:             'expand.c:1247,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1251,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:1253,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1256,2'
          Dst:             ebitmap_destroy
    - functionName:    cats_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1374
      functionLinenumberEnd: 1411
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          237
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - cat_datum_destroy
        - cat_datum_init
        - hashtab_insert
        - is_id_enabled
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1379,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1390,2'
          Dst:             cat_datum_init
        - Src:             'expand.c:1391,11'
          Dst:             strdup
        - Src:             'expand.c:1398,6'
          Dst:             hashtab_insert
        - Src:             'expand.c:1407,2'
          Dst:             cat_datum_destroy
    - functionName:    sens_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1322
      functionLinenumberEnd: 1370
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          285
      EdgeCount:       54
      CyclomaticComplexity: 15
      functionsReached:
        - hashtab_insert
        - is_id_enabled
        - level_datum_destroy
        - level_datum_init
        - mls_level_cpy
        - mls_level_destroy
        - mls_level_init
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1327,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1338,2'
          Dst:             level_datum_init
        - Src:             'expand.c:1342,2'
          Dst:             mls_level_init
        - Src:             'expand.c:1343,11'
          Dst:             strdup
        - Src:             'expand.c:1347,6'
          Dst:             mls_level_cpy
        - Src:             'expand.c:1353,6'
          Dst:             hashtab_insert
        - Src:             'expand.c:1363,3'
          Dst:             mls_level_destroy
        - Src:             'expand.c:1366,2'
          Dst:             level_datum_destroy
    - functionName:    role_fix_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 983
      functionLinenumberEnd: 1010
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          257
      EdgeCount:       54
      CyclomaticComplexity: 13
      functionsReached:
        - __assert_fail
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - ebitmap_union
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1000,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:1000,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1002,3'
          Dst:             __assert_fail
        - Src:             'expand.c:1003,7'
          Dst:             ebitmap_union
        - Src:             'expand.c:1000,2'
          Dst:             ebitmap_next
    - functionName:    expand_role_attributes_in_attributes
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 974
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         65
      ICount:          386
      EdgeCount:       84
      CyclomaticComplexity: 21
      functionsReached:
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_get_bit
        - ebitmap_init
        - ebitmap_match_any
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
        - ebitmap_union
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:930,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:934,4'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:940,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:940,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:942,8'
          Dst:             ebitmap_match_any
        - Src:             'expand.c:944,5'
          Dst:             ebitmap_init
        - Src:             'expand.c:945,5'
          Dst:             ebitmap_start
        - Src:             'expand.c:945,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:948,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:949,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:952,10'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:954,7'
          Dst:             ebitmap_union
        - Src:             'expand.c:956,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:945,5'
          Dst:             ebitmap_next
        - Src:             'expand.c:959,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:960,5'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:961,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:940,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:966,2'
          Dst:             ebitmap_destroy
    - functionName:    role_roles_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 883
      functionLinenumberEnd: 922
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          270
      EdgeCount:       53
      CyclomaticComplexity: 14
      functionsReached:
        - ebitmap_destroy
        - ebitmap_union
        - hashtab_search
        - is_id_enabled
        - map_ebitmap
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:897,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:905,29'
          Dst:             hashtab_search
        - Src:             'expand.c:912,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:914,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:916,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:919,2'
          Dst:             ebitmap_destroy
    - functionName:    role_types_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 840
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          315
      EdgeCount:       60
      CyclomaticComplexity: 15
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_union
        - expand_convert_type_set
        - hashtab_search
        - is_id_enabled
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:850,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:858,29'
          Dst:             hashtab_search
        - Src:             'expand.c:865,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:866,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:868,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:872,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:874,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:877,2'
          Dst:             ebitmap_destroy
    - functionName:    role_dominates_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 804
      functionLinenumberEnd: 837
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          209
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_destroy
        - ebitmap_union
        - hashtab_search
        - is_id_enabled
        - map_ebitmap
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:814,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:822,30'
          Dst:             hashtab_search
        - Src:             'expand.c:828,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:830,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:831,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:834,2'
          Dst:             ebitmap_destroy
    - functionName:    role_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 680
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          214
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - hashtab_search
        - is_id_enabled
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:663,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:668,9'
          Dst:             hashtab_search
    - functionName:    role_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1014
      functionLinenumberEnd: 1071
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          393
      EdgeCount:       67
      CyclomaticComplexity: 17
      functionsReached:
        - hashtab_insert
        - hashtab_search
        - is_id_enabled
        - strcmp
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1024,6'
          Dst:             strcmp
        - Src:             'expand.c:1030,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1038,30'
          Dst:             hashtab_search
        - Src:             'expand.c:1047,12'
          Dst:             strdup
        - Src:             'expand.c:1058,9'
          Dst:             hashtab_insert
    - functionName:    class_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 506
      functionLinenumberEnd: 589
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         92
      ICount:          641
      EdgeCount:       119
      CyclomaticComplexity: 29
      functionsReached:
        - class_copy_default_new_object
        - hashtab_insert
        - hashtab_map
        - hashtab_search
        - is_id_enabled
        - perm_copy_callback
        - strdup
        - symtab_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:516,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:530,6'
          Dst:             symtab_init
        - Src:             'expand.c:539,8'
          Dst:             class_copy_default_new_object
        - Src:             'expand.c:545,11'
          Dst:             strdup
        - Src:             'expand.c:553,6'
          Dst:             hashtab_insert
        - Src:             'expand.c:562,6'
          Dst:             hashtab_map
        - Src:             'expand.c:562,6'
          Dst:             perm_copy_callback
        - Src:             'expand.c:570,23'
          Dst:             strdup
        - Src:             'expand.c:577,7'
          Dst:             hashtab_search
    - functionName:    common_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 372
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          448
      EdgeCount:       83
      CyclomaticComplexity: 20
      functionsReached:
        - hashtab_insert
        - hashtab_map
        - perm_copy_callback
        - strdup
        - symtab_destroy
        - symtab_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:336,6'
          Dst:             symtab_init
        - Src:             'expand.c:342,11'
          Dst:             strdup
        - Src:             'expand.c:346,3'
          Dst:             symtab_destroy
        - Src:             'expand.c:355,6'
          Dst:             hashtab_insert
        - Src:             'expand.c:364,6'
          Dst:             hashtab_map
        - Src:             'expand.c:364,6'
          Dst:             perm_copy_callback
    - functionName:    expand_attributes_in_attributes
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         65
      ICount:          386
      EdgeCount:       84
      CyclomaticComplexity: 21
      functionsReached:
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_get_bit
        - ebitmap_init
        - ebitmap_match_any
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
        - ebitmap_union
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:232,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:236,4'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:242,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:242,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:244,8'
          Dst:             ebitmap_match_any
        - Src:             'expand.c:246,5'
          Dst:             ebitmap_init
        - Src:             'expand.c:247,5'
          Dst:             ebitmap_start
        - Src:             'expand.c:247,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:250,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:251,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:254,10'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:256,7'
          Dst:             ebitmap_union
        - Src:             'expand.c:258,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:247,5'
          Dst:             ebitmap_next
        - Src:             'expand.c:261,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:262,5'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:263,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:242,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:268,2'
          Dst:             ebitmap_destroy
    - functionName:    attr_convert_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          319
      EdgeCount:       63
      CyclomaticComplexity: 16
      functionsReached:
        - ebitmap_destroy
        - ebitmap_union
        - hashtab_search
        - is_id_enabled
        - map_ebitmap
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:197,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:205,13'
          Dst:             hashtab_search
        - Src:             'expand.c:210,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:216,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:220,2'
          Dst:             ebitmap_destroy
    - functionName:    type_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 650
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          214
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - hashtab_search
        - is_id_enabled
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:633,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:638,9'
          Dst:             hashtab_search
    - functionName:    alias_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 719
      functionLinenumberEnd: 801
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         89
      ICount:          620
      EdgeCount:       115
      CyclomaticComplexity: 28
      functionsReached:
        - __assert_fail
        - ebitmap_set_bit
        - hashtab_insert
        - is_id_enabled
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:743,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:753,11'
          Dst:             strdup
        - Src:             'expand.c:771,3'
          Dst:             __assert_fail
        - Src:             'expand.c:775,8'
          Dst:             hashtab_insert
        - Src:             'expand.c:789,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:795,7'
          Dst:             ebitmap_set_bit
    - functionName:    type_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         91
      ICount:          619
      EdgeCount:       118
      CyclomaticComplexity: 29
      functionsReached:
        - ebitmap_set_bit
        - hashtab_insert
        - is_id_enabled
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:123,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:131,11'
          Dst:             strdup
        - Src:             'expand.c:157,8'
          Dst:             hashtab_insert
        - Src:             'expand.c:168,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:174,7'
          Dst:             ebitmap_set_bit
    - functionName:    discard_tunables
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3013
      functionLinenumberEnd: 3105
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         71
      ICount:          371
      EdgeCount:       93
      CyclomaticComplexity: 24
      functionsReached:
        - __assert_fail
        - cond_evaluate_expr
        - printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:3069,5'
          Dst:             __assert_fail
        - Src:             'expand.c:3075,17'
          Dst:             cond_evaluate_expr
        - Src:             'expand.c:3077,6'
          Dst:             printf
    - functionName:    expand_module
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3114
      functionLinenumberEnd: 3384
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         250
      ICount:          1615
      EdgeCount:       339
      CyclomaticComplexity: 91
      functionsReached:
        - alias_copy_callback
        - attr_convert_callback
        - bool_copy_callback
        - calloc
        - cats_copy_callback
        - check_assertions
        - class_copy_callback
        - common_copy_callback
        - cond_optimize_lists
        - constraint_copy_callback
        - copy_and_expand_avrule_block
        - discard_tunables
        - ebitmap_cpy
        - ebitmap_set_bit
        - evaluate_conds
        - expand_attributes_in_attributes
        - expand_role_attributes_in_attributes
        - expand_state_init
        - genfs_copy
        - hashtab_map
        - hierarchy_check_constraints
        - ocontext_copy
        - policydb_index_classes
        - policydb_index_others
        - role_bounds_copy_callback
        - role_copy_callback
        - role_dominates_copy_callback
        - role_fix_callback
        - role_roles_copy_callback
        - role_types_copy_callback
        - sens_copy_callback
        - strdup
        - type_attr_map
        - type_bounds_copy_callback
        - type_copy_callback
        - user_bounds_copy_callback
        - user_copy_callback
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:3128,2'
          Dst:             discard_tunables
        - Src:             'expand.c:3130,2'
          Dst:             expand_state_init
        - Src:             'expand.c:3146,21'
          Dst:             strdup
        - Src:             'expand.c:3161,6'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:3167,20'
          Dst:             calloc
        - Src:             'expand.c:3173,30'
          Dst:             calloc
        - Src:             'expand.c:3179,30'
          Dst:             calloc
        - Src:             'expand.c:3185,30'
          Dst:             calloc
        - Src:             'expand.c:3194,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3194,6'
          Dst:             type_copy_callback
        - Src:             'expand.c:3197,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3199,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3199,6'
          Dst:             alias_copy_callback
        - Src:             'expand.c:3201,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3201,6'
          Dst:             type_bounds_copy_callback
        - Src:             'expand.c:3203,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3203,6'
          Dst:             attr_convert_callback
        - Src:             'expand.c:3210,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3210,7'
          Dst:             attr_convert_callback
        - Src:             'expand.c:3212,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3212,7'
          Dst:             type_bounds_copy_callback
        - Src:             'expand.c:3216,6'
          Dst:             expand_attributes_in_attributes
        - Src:             'expand.c:3221,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3221,6'
          Dst:             common_copy_callback
        - Src:             'expand.c:3228,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3228,6'
          Dst:             class_copy_callback
        - Src:             'expand.c:3234,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3240,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3240,6'
          Dst:             role_copy_callback
        - Src:             'expand.c:3243,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3245,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3245,6'
          Dst:             role_bounds_copy_callback
        - Src:             'expand.c:3247,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3247,6'
          Dst:             role_dominates_copy_callback
        - Src:             'expand.c:3249,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3249,6'
          Dst:             role_types_copy_callback
        - Src:             'expand.c:3251,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3251,6'
          Dst:             role_roles_copy_callback
        - Src:             'expand.c:3258,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3258,7'
          Dst:             role_bounds_copy_callback
        - Src:             'expand.c:3260,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3260,7'
          Dst:             role_dominates_copy_callback
        - Src:             'expand.c:3262,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3262,7'
          Dst:             role_types_copy_callback
        - Src:             'expand.c:3264,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3264,7'
          Dst:             role_roles_copy_callback
        - Src:             'expand.c:3268,6'
          Dst:             expand_role_attributes_in_attributes
        - Src:             'expand.c:3277,6'
          Dst:             expand_role_attributes_in_attributes
        - Src:             'expand.c:3282,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3282,6'
          Dst:             role_fix_callback
        - Src:             'expand.c:3287,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3287,6'
          Dst:             sens_copy_callback
        - Src:             'expand.c:3289,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3289,6'
          Dst:             cats_copy_callback
        - Src:             'expand.c:3291,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3297,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3297,6'
          Dst:             user_copy_callback
        - Src:             'expand.c:3299,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3299,6'
          Dst:             user_bounds_copy_callback
        - Src:             'expand.c:3306,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3306,7'
          Dst:             user_copy_callback
        - Src:             'expand.c:3308,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3308,7'
          Dst:             user_bounds_copy_callback
        - Src:             'expand.c:3313,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3313,6'
          Dst:             bool_copy_callback
        - Src:             'expand.c:3316,6'
          Dst:             policydb_index_classes
        - Src:             'expand.c:3320,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3325,6'
          Dst:             copy_and_expand_avrule_block
        - Src:             'expand.c:3331,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3331,6'
          Dst:             constraint_copy_callback
        - Src:             'expand.c:3336,2'
          Dst:             cond_optimize_lists
        - Src:             'expand.c:3337,6'
          Dst:             evaluate_conds
        - Src:             'expand.c:3341,6'
          Dst:             ocontext_copy
        - Src:             'expand.c:3345,6'
          Dst:             genfs_copy
        - Src:             'expand.c:3349,29'
          Dst:             calloc
        - Src:             'expand.c:3351,29'
          Dst:             calloc
        - Src:             'expand.c:3359,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:3364,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3364,6'
          Dst:             type_attr_map
        - Src:             'expand.c:3367,7'
          Dst:             hierarchy_check_constraints
        - Src:             'expand.c:3370,7'
          Dst:             check_assertions
    - functionName:    expand_state_init
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    copy_and_expand_avrule_block
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2899
      functionLinenumberEnd: 2982
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         72
      ICount:          434
      EdgeCount:       95
      CyclomaticComplexity: 25
      functionsReached:
        - avrule_block_destroy
        - avtab_alloc
        - cond_node_copy
        - convert_and_expand_rule
        - copy_neverallow
        - copy_role_allows
        - copy_role_trans
        - expand_filename_trans
        - expand_range_trans
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2904,6'
          Dst:             avtab_alloc
        - Src:             'expand.c:2909,7'
          Dst:             avtab_alloc
        - Src:             'expand.c:2924,7'
          Dst:             copy_role_allows
        - Src:             'expand.c:2925,7'
          Dst:             copy_role_trans
        - Src:             'expand.c:2929,7'
          Dst:             expand_filename_trans
        - Src:             'expand.c:2933,7'
          Dst:             expand_range_trans
        - Src:             'expand.c:2942,9'
          Dst:             copy_neverallow
        - Src:             'expand.c:2949,9'
          Dst:             convert_and_expand_rule
        - Src:             'expand.c:2962,7'
          Dst:             cond_node_copy
        - Src:             'expand.c:2974,4'
          Dst:             avrule_block_destroy
    - functionName:    expand_module_avrules
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2994
      functionLinenumberEnd: 3009
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          59
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - copy_and_expand_avrule_block
        - expand_state_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2997,2'
          Dst:             expand_state_init
        - Src:             'expand.c:3009,9'
          Dst:             copy_and_expand_avrule_block
    - functionName:    expand_rule
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2581
      functionLinenumberEnd: 2602
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          97
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - expand_rule_helper
        - type_set_expand
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2589,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2590,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2592,6'
          Dst:             type_set_expand
        - Src:             'expand.c:2594,6'
          Dst:             type_set_expand
        - Src:             'expand.c:2596,11'
          Dst:             expand_rule_helper
        - Src:             'expand.c:2599,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2600,2'
          Dst:             ebitmap_destroy
    - functionName:    hashtab_hash_eval
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          127
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - printf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:280,2'
          Dst:             printf
    - functionName:    hashtab_map
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    116
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hashtab_destroy
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hashtab_search
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    178
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hashtab_remove
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          165
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hashtab_check_resize
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          196
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:78,15'
          Dst:             calloc
    - functionName:    hashtab_insert
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          178
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - hashtab_check_resize
      functionUses:    45
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:114,2'
          Dst:             hashtab_check_resize
    - functionName:    hashtab_create
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:56,31'
          Dst:             calloc
    - functionName:    bounds_report
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 456
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          213
      EdgeCount:       32
      CyclomaticComplexity: 8
      functionsReached:
        - sepol_av_to_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:446,19'
          Dst:             sepol_av_to_string
    - functionName:    bounds_add_bad
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          122
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    bounds_not_covered
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - avtab_search
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:250,25'
          Dst:             avtab_search
        - Src:             'hierarchy.c:254,11'
          Dst:             avtab_search
    - functionName:    bounds_check_rule
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          221
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - bounds_add_bad
        - bounds_not_covered
        - ebitmap_get_bit
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:297,6'
          Dst:             ebitmap_get_bit
        - Src:             'hierarchy.c:299,3'
          Dst:             ebitmap_start
        - Src:             'hierarchy.c:299,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'hierarchy.c:303,9'
          Dst:             bounds_not_covered
        - Src:             'hierarchy.c:307,9'
          Dst:             bounds_not_covered
        - Src:             'hierarchy.c:312,10'
          Dst:             bounds_add_bad
        - Src:             'hierarchy.c:299,3'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    bounds_check_cond_rules
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          110
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - bounds_check_rule
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:337,8'
          Dst:             bounds_check_rule
    - functionName:    bounds_check_rule_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          75
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - bounds_check_rule
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:366,9'
          Dst:             bounds_check_rule
    - functionName:    bounds_insert_helper
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          144
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - avtab_insert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:45,11'
          Dst:             avtab_insert
    - functionName:    bounds_insert_rule
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          142
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - avtab_search
        - bounds_insert_helper
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:61,23'
          Dst:             avtab_search
        - Src:             'hierarchy.c:64,8'
          Dst:             bounds_insert_helper
        - Src:             'hierarchy.c:75,9'
          Dst:             avtab_search
        - Src:             'hierarchy.c:79,11'
          Dst:             avtab_search
        - Src:             'hierarchy.c:83,11'
          Dst:             bounds_insert_helper
    - functionName:    bounds_expand_rule
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          157
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - bounds_insert_rule
        - ebitmap_get_bit
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:112,6'
          Dst:             ebitmap_get_bit
        - Src:             'hierarchy.c:114,3'
          Dst:             ebitmap_start
        - Src:             'hierarchy.c:114,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'hierarchy.c:116,9'
          Dst:             bounds_insert_rule
        - Src:             'hierarchy.c:114,3'
          Dst:             ebitmap_next
    - functionName:    bounds_expand_cond_rules
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          85
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - bounds_expand_rule
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:135,8'
          Dst:             bounds_expand_rule
    - functionName:    bounds_expand_rule_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          68
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - bounds_expand_rule
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:160,9'
          Dst:             bounds_expand_rule
    - functionName:    hierarchy_check_constraints
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 673
      functionLinenumberEnd: 700
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          106
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - bounds_check_roles
        - bounds_check_types
        - bounds_check_users
        - hierarchy_add_bounds
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:677,7'
          Dst:             hierarchy_add_bounds
        - Src:             'hierarchy.c:680,7'
          Dst:             bounds_check_users
        - Src:             'hierarchy.c:684,7'
          Dst:             bounds_check_roles
        - Src:             'hierarchy.c:688,7'
          Dst:             bounds_check_types
    - functionName:    hierarchy_add_bounds
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 645
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          137
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - hashtab_map
        - hierarchy_add_role_callback
        - hierarchy_add_type_callback
        - hierarchy_add_user_callback
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:653,7'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:653,7'
          Dst:             hierarchy_add_user_callback
        - Src:             'hierarchy.c:656,7'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:656,7'
          Dst:             hierarchy_add_role_callback
        - Src:             'hierarchy.c:659,7'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:659,7'
          Dst:             hierarchy_add_type_callback
    - functionName:    bounds_check_users
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 596
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          97
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - bounds_check_user_callback
        - hashtab_map
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:587,2'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:587,2'
          Dst:             bounds_check_user_callback
    - functionName:    bounds_check_roles
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 553
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          97
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - bounds_check_role_callback
        - hashtab_map
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:544,2'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:544,2'
          Dst:             bounds_check_role_callback
    - functionName:    bounds_check_types
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 491
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          106
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - bounds_check_type_callback
        - hashtab_map
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:499,7'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:499,7'
          Dst:             bounds_check_type_callback
    - functionName:    bounds_check_type_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 487
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          84
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - bounds_check_type
        - bounds_destroy_bad
        - bounds_report
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:478,8'
          Dst:             bounds_check_type
        - Src:             'hierarchy.c:481,4'
          Dst:             bounds_report
        - Src:             'hierarchy.c:483,4'
          Dst:             bounds_destroy_bad
    - functionName:    bounds_check_type
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - avtab_destroy
        - bounds_check_child_rules
        - bounds_destroy_cond_info
        - bounds_expand_parent_rules
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:420,7'
          Dst:             bounds_expand_parent_rules
        - Src:             'hierarchy.c:423,7'
          Dst:             bounds_check_child_rules
        - Src:             'hierarchy.c:426,2'
          Dst:             bounds_destroy_cond_info
        - Src:             'hierarchy.c:427,2'
          Dst:             avtab_destroy
    - functionName:    bounds_destroy_bad
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 467
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    bounds_expand_parent_rules
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          318
      EdgeCount:       60
      CyclomaticComplexity: 16
      functionsReached:
        - avtab_alloc
        - avtab_destroy
        - avtab_init
        - avtab_map
        - bounds_destroy_cond_info
        - bounds_expand_cond_rules
        - bounds_expand_rule_callback
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:194,2'
          Dst:             avtab_init
        - Src:             'hierarchy.c:195,7'
          Dst:             avtab_alloc
        - Src:             'hierarchy.c:202,7'
          Dst:             avtab_map
        - Src:             'hierarchy.c:202,7'
          Dst:             bounds_expand_rule_callback
        - Src:             'hierarchy.c:210,3'
          Dst:             avtab_init
        - Src:             'hierarchy.c:211,3'
          Dst:             avtab_init
        - Src:             'hierarchy.c:216,9'
          Dst:             avtab_alloc
        - Src:             'hierarchy.c:218,9'
          Dst:             bounds_expand_cond_rules
        - Src:             'hierarchy.c:224,9'
          Dst:             avtab_alloc
        - Src:             'hierarchy.c:226,9'
          Dst:             bounds_expand_cond_rules
        - Src:             'hierarchy.c:241,2'
          Dst:             avtab_destroy
        - Src:             'hierarchy.c:242,2'
          Dst:             bounds_destroy_cond_info
    - functionName:    bounds_check_child_rules
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 410
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          140
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - avtab_map
        - bounds_check_cond_rules
        - bounds_check_rule_callback
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:388,7'
          Dst:             avtab_map
        - Src:             'hierarchy.c:388,7'
          Dst:             bounds_check_rule_callback
        - Src:             'hierarchy.c:393,8'
          Dst:             bounds_check_cond_rules
        - Src:             'hierarchy.c:399,8'
          Dst:             bounds_check_cond_rules
    - functionName:    bounds_destroy_cond_info
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          43
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - avtab_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:178,3'
          Dst:             avtab_destroy
        - Src:             'hierarchy.c:179,3'
          Dst:             avtab_destroy
    - functionName:    bounds_check_role_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          148
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_contains
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:527,13'
          Dst:             ebitmap_contains
    - functionName:    bounds_check_user_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 577
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          148
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_contains
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:570,13'
          Dst:             ebitmap_contains
    - functionName:    hierarchy_add_user_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 642
      functionLinenumberEnd: 642
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          239
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - hashtab_search
        - strdup
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:642,8'
          Dst:             strrchr
        - Src:             'hierarchy.c:642,8'
          Dst:             strdup
        - Src:             'hierarchy.c:642,8'
          Dst:             hashtab_search
    - functionName:    hierarchy_add_role_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 641
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          239
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - hashtab_search
        - strdup
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:641,8'
          Dst:             strrchr
        - Src:             'hierarchy.c:641,8'
          Dst:             strdup
        - Src:             'hierarchy.c:641,8'
          Dst:             hashtab_search
    - functionName:    hierarchy_add_type_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 640
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          239
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - hashtab_search
        - strdup
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:640,8'
          Dst:             strrchr
        - Src:             'hierarchy.c:640,8'
          Dst:             strdup
        - Src:             'hierarchy.c:640,8'
          Dst:             hashtab_search
    - functionName:    context_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2592
      functionLinenumberEnd: 2613
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          98
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - create_str
        - range_to_str
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2601,11'
          Dst:             range_to_str
        - Src:             'kernel_to_cil.c:2603,11'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:2609,8'
          Dst:             create_str
    - functionName:    range_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2014
      functionLinenumberEnd: 2035
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - create_str
        - level_to_str
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2019,8'
          Dst:             level_to_str
        - Src:             'kernel_to_cil.c:2024,9'
          Dst:             level_to_str
        - Src:             'kernel_to_cil.c:2029,14'
          Dst:             create_str
    - functionName:    level_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1996
      functionLinenumberEnd: 2010
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cats_ebitmap_to_str
        - create_str
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2003,14'
          Dst:             cats_ebitmap_to_str
        - Src:             'kernel_to_cil.c:2004,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:2007,15'
          Dst:             create_str
    - functionName:    cats_ebitmap_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1039
      functionLinenumberEnd: 1099
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          236
      EdgeCount:       46
      CyclomaticComplexity: 13
      functionsReached:
        - cats_ebitmap_len
        - ebitmap_get_bit
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1045,19'
          Dst:             cats_ebitmap_len
        - Src:             'kernel_to_cil.c:1060,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1060,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1066,7'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_cil.c:1071,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1075,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1080,10'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1060,2'
          Dst:             ebitmap_next
    - functionName:    cats_ebitmap_len
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1004
      functionLinenumberEnd: 1035
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          170
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_get_bit
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1010,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1010,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1016,7'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_cil.c:1019,10'
          Dst:             strlen
        - Src:             'kernel_to_cil.c:1021,11'
          Dst:             strlen
        - Src:             'kernel_to_cil.c:1023,11'
          Dst:             strlen
        - Src:             'kernel_to_cil.c:1010,2'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write_sid_context_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2617
      functionLinenumberEnd: 2670
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          200
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - context_to_str
        - create_str
        - snprintf
        - strs_add_at_index
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_write_each
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2626,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2636,4'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:2640,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2646,10'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:2653,8'
          Dst:             strs_add_at_index
        - Src:             'kernel_to_cil.c:2660,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2663,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2664,2'
          Dst:             strs_destroy
    - functionName:    write_cond_av_list_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2107
      functionLinenumberEnd: 2155
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          149
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - avtab_node_to_str
        - strs_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each_indented
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2120,8'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2130,12'
          Dst:             avtab_node_to_str
        - Src:             'kernel_to_cil.c:2135,10'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2143,3'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2144,3'
          Dst:             strs_write_each_indented
        - Src:             'kernel_to_cil.c:2145,3'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2146,3'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2152,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2153,2'
          Dst:             strs_destroy
    - functionName:    avtab_node_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1744
      functionLinenumberEnd: 1840
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         72
      ICount:          535
      EdgeCount:       88
      CyclomaticComplexity: 18
      functionsReached:
        - create_str
        - sepol_av_to_string
        - xperms_to_str
      functionUses:    2
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:1751,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:1796,11'
          Dst:             sepol_av_to_string
        - Src:             'kernel_to_cil.c:1806,10'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:1810,11'
          Dst:             xperms_to_str
        - Src:             'kernel_to_cil.c:1823,10'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:1829,10'
          Dst:             create_str
    - functionName:    xperms_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1658
      functionLinenumberEnd: 1741
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         57
      ICount:          392
      EdgeCount:       77
      CyclomaticComplexity: 22
      functionsReached:
        - realloc
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1677,6'
          Dst:             realloc
        - Src:             'kernel_to_cil.c:1705,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1708,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1714,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1717,11'
          Dst:             snprintf
    - functionName:    cond_node_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2163
      functionLinenumberEnd: 2166
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2166,9'
          Dst:             strcmp
    - functionName:    cond_expr_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         77
      ICount:          482
      EdgeCount:       95
      CyclomaticComplexity: 20
      functionsReached:
        - create_str
        - strs_stack_destroy
        - strs_stack_empty
        - strs_stack_init
        - strs_stack_pop
        - strs_stack_push
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:55,4'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:40,7'
          Dst:             strs_stack_init
        - Src:             'kernel_to_cil.c:48,14'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:69,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:75,11'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:82,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:85,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:93,8'
          Dst:             strs_stack_push
        - Src:             'kernel_to_cil.c:100,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:101,19'
          Dst:             strs_stack_empty
        - Src:             'kernel_to_cil.c:108,2'
          Dst:             strs_stack_destroy
        - Src:             'kernel_to_cil.c:113,21'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:116,3'
          Dst:             strs_stack_destroy
    - functionName:    map_range_trans_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2044
      functionLinenumberEnd: 2070
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          111
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - range_to_str
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2056,10'
          Dst:             range_to_str
        - Src:             'kernel_to_cil.c:2062,7'
          Dst:             strs_create_and_add
    - functionName:    map_filename_trans_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1930
      functionLinenumberEnd: 1960
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          181
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1947,3'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1947,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1949,9'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:1947,3'
          Dst:             ebitmap_next
    - functionName:    map_avtab_write_helper
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1849
      functionLinenumberEnd: 1871
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          84
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - avtab_node_to_str
        - strs_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1858,10'
          Dst:             avtab_node_to_str
        - Src:             'kernel_to_cil.c:1863,8'
          Dst:             strs_add
    - functionName:    write_avtab_flavor_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1875
      functionLinenumberEnd: 1901
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - avtab_map
        - map_avtab_write_helper
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each_indented
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1880,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1889,7'
          Dst:             avtab_map
        - Src:             'kernel_to_cil.c:1889,7'
          Dst:             map_avtab_write_helper
        - Src:             'kernel_to_cil.c:1894,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1895,2'
          Dst:             strs_write_each_indented
        - Src:             'kernel_to_cil.c:1898,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:1899,2'
          Dst:             strs_destroy
    - functionName:    map_type_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1398
      functionLinenumberEnd: 1406
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strs_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1404,8'
          Dst:             strs_add
    - functionName:    map_count_type_aliases
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1387
      functionLinenumberEnd: 1394
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    map_boolean_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1302
      functionLinenumberEnd: 1309
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1309,9'
          Dst:             strs_create_and_add
    - functionName:    map_category_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 911
      functionLinenumberEnd: 920
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strs_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:917,8'
          Dst:             strs_add
    - functionName:    map_count_category_aliases
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 900
      functionLinenumberEnd: 907
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    map_sensitivity_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 807
      functionLinenumberEnd: 816
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strs_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:813,8'
          Dst:             strs_add
    - functionName:    map_count_sensitivity_aliases
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 796
      functionLinenumberEnd: 803
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write_sensitivitycategory_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1102
      functionLinenumberEnd: 1131
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          164
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - cats_ebitmap_to_str
        - hashtab_search
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1112,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:1120,11'
          Dst:             cats_ebitmap_to_str
        - Src:             'kernel_to_cil.c:1121,4'
          Dst:             sepol_printf
    - functionName:    write_category_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 1000
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         44
      ICount:          304
      EdgeCount:       57
      CyclomaticComplexity: 15
      functionsReached:
        - hashtab_map
        - hashtab_search
        - map_category_aliases_to_strs
        - map_count_category_aliases
        - sepol_printf
        - strs_destroy
        - strs_init
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:934,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:938,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:943,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:948,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:950,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:952,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:952,7'
          Dst:             map_count_category_aliases
        - Src:             'kernel_to_cil.c:963,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:968,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:968,7'
          Dst:             map_category_aliases_to_strs
        - Src:             'kernel_to_cil.c:973,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:977,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:978,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:983,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:984,9'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:990,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:994,2'
          Dst:             strs_destroy
    - functionName:    write_sensitivity_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 820
      functionLinenumberEnd: 896
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         44
      ICount:          305
      EdgeCount:       57
      CyclomaticComplexity: 15
      functionsReached:
        - hashtab_map
        - hashtab_search
        - map_count_sensitivity_aliases
        - map_sensitivity_aliases_to_strs
        - sepol_printf
        - strs_destroy
        - strs_init
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:830,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:834,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:839,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:844,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:846,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:848,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:848,7'
          Dst:             map_count_sensitivity_aliases
        - Src:             'kernel_to_cil.c:859,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:864,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:864,7'
          Dst:             map_sensitivity_aliases_to_strs
        - Src:             'kernel_to_cil.c:869,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:873,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:874,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:879,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:880,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:886,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:890,2'
          Dst:             strs_destroy
    - functionName:    write_default_mls_level
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 789
      functionLinenumberEnd: 793
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:790,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:791,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:792,2'
          Dst:             sepol_printf
    - functionName:    write_default_range_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 688
      functionLinenumberEnd: 720
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          113
      EdgeCount:       18
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:691,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:717,2'
          Dst:             sepol_printf
    - functionName:    write_default_type_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 668
      functionLinenumberEnd: 685
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:671,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:682,2'
          Dst:             sepol_printf
    - functionName:    write_default_role_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 648
      functionLinenumberEnd: 665
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:651,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:662,2'
          Dst:             sepol_printf
    - functionName:    write_default_user_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 628
      functionLinenumberEnd: 645
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:631,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:642,2'
          Dst:             sepol_printf
    - functionName:    write_sids_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 607
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          170
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - isids_to_strs
        - sepol_printf
        - strs_destroy
        - strs_free_all
        - strs_num_items
        - strs_read_at_index
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:573,9'
          Dst:             isids_to_strs
        - Src:             'kernel_to_cil.c:579,6'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:580,3'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:584,16'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:585,9'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:586,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:589,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:591,16'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:592,9'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:594,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:599,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:601,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:603,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:604,2'
          Dst:             strs_destroy
    - functionName:    class_or_common_perms_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_map
        - hashtab_ordered_to_strs
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_to_str
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:454,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:459,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:459,7'
          Dst:             hashtab_ordered_to_strs
        - Src:             'kernel_to_cil.c:464,6'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:465,11'
          Dst:             strs_to_str
        - Src:             'kernel_to_cil.c:469,2'
          Dst:             strs_destroy
    - functionName:    class_validatetrans_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          97
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - constraint_expr_to_str
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:347,10'
          Dst:             constraint_expr_to_str
        - Src:             'kernel_to_cil.c:361,8'
          Dst:             strs_create_and_add
    - functionName:    constraint_expr_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         134
      ICount:          826
      EdgeCount:       161
      CyclomaticComplexity: 29
      functionsReached:
        - create_str
        - ebitmap_to_str
        - strchr
        - strdup
        - strs_stack_destroy
        - strs_stack_empty
        - strs_stack_init
        - strs_stack_pop
        - strs_stack_push
      functionUses:    2
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:143,4'
          Branch Sides:    []
        - Branch String:   'kernel_to_cil.c:154,4'
          Branch Sides:    []
        - Branch String:   'kernel_to_cil.c:211,4'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:133,7'
          Dst:             strs_stack_init
        - Src:             'kernel_to_cil.c:181,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:186,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_cil.c:188,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_cil.c:190,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_cil.c:193,14'
          Dst:             strdup
        - Src:             'kernel_to_cil.c:199,9'
          Dst:             strchr
        - Src:             'kernel_to_cil.c:200,16'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:202,16'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:222,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:228,11'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:235,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:238,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:245,8'
          Dst:             strs_stack_push
        - Src:             'kernel_to_cil.c:252,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:253,19'
          Dst:             strs_stack_empty
        - Src:             'kernel_to_cil.c:260,2'
          Dst:             strs_stack_destroy
        - Src:             'kernel_to_cil.c:266,21'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:269,3'
          Dst:             strs_stack_destroy
    - functionName:    class_constraint_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          262
      EdgeCount:       47
      CyclomaticComplexity: 12
      functionsReached:
        - constraint_expr_to_str
        - sepol_av_to_string
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:293,10'
          Dst:             constraint_expr_to_str
        - Src:             'kernel_to_cil.c:299,11'
          Dst:             sepol_av_to_string
        - Src:             'kernel_to_cil.c:320,8'
          Dst:             strs_create_and_add
    - functionName:    write_xen_devicetree_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3231
      functionLinenumberEnd: 3254
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          115
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - context_to_str
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:3238,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3244,3'
          Dst:             sepol_printf
    - functionName:    write_xen_pcidevice_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3196
      functionLinenumberEnd: 3227
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          137
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:3203,8'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3209,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3215,3'
          Dst:             sepol_printf
    - functionName:    write_xen_iomem_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3153
      functionLinenumberEnd: 3192
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          164
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:3165,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3167,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3174,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3180,3'
          Dst:             sepol_printf
    - functionName:    write_xen_ioport_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3110
      functionLinenumberEnd: 3149
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          164
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:3122,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3124,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3131,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3137,3'
          Dst:             sepol_printf
    - functionName:    write_xen_pirq_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3075
      functionLinenumberEnd: 3106
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          137
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:3082,8'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3088,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3094,3'
          Dst:             sepol_printf
    - functionName:    write_xen_isid_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3070
      functionLinenumberEnd: 3071
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - write_sid_context_rules_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:3071,9'
          Dst:             write_sid_context_rules_to_cil
    - functionName:    write_selinux_ibendport_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3033
      functionLinenumberEnd: 3066
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          142
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:3041,8'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3047,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3053,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_ibpkey_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2977
      functionLinenumberEnd: 3029
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          224
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - context_to_str
        - inet_ntop
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2992,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:3002,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3004,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3011,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3017,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_node6_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2937
      functionLinenumberEnd: 2973
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          209
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - context_to_str
        - inet_ntop
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2945,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:2951,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:2957,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2963,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_node_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2897
      functionLinenumberEnd: 2933
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          209
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - context_to_str
        - inet_ntop
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2905,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:2911,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:2917,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2923,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_netif_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2863
      functionLinenumberEnd: 2893
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          135
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - context_to_str
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2870,10'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2875,10'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2882,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_port_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2808
      functionLinenumberEnd: 2859
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         37
      ICount:          245
      EdgeCount:       44
      CyclomaticComplexity: 9
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:2818,3'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:2832,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:2834,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:2841,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2847,3'
          Dst:             sepol_printf
    - functionName:    write_genfscon_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2718
      functionLinenumberEnd: 2804
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         66
      ICount:          381
      EdgeCount:       86
      CyclomaticComplexity: 22
      functionsReached:
        - context_to_str
        - ebitmap_get_bit
        - strcmp
        - strlen
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2726,17'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_cil.c:2729,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2743,9'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2745,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2747,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2749,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2751,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2753,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2755,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2763,10'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2769,15'
          Dst:             strlen
        - Src:             'kernel_to_cil.c:2780,10'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:2783,10'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:2793,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2794,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2797,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2798,2'
          Dst:             strs_destroy
    - functionName:    write_selinux_fsuse_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2680
      functionLinenumberEnd: 2714
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          182
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - context_to_str
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:2687,3'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:2698,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2704,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_isid_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2674
      functionLinenumberEnd: 2675
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - write_sid_context_rules_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2675,9'
          Dst:             write_sid_context_rules_to_cil
    - functionName:    write_user_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2451
      functionLinenumberEnd: 2588
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         80
      ICount:          494
      EdgeCount:       108
      CyclomaticComplexity: 30
      functionsReached:
        - ebitmap_to_strs
        - hashtab_search
        - level_to_str
        - range_to_str
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2459,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2466,8'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2472,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2474,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2477,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2481,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2485,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2490,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2498,9'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2502,9'
          Dst:             ebitmap_to_strs
        - Src:             'kernel_to_cil.c:2504,5'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2508,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2510,5'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2514,4'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2516,16'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2518,12'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2519,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2521,4'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2526,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2531,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2537,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2540,12'
          Dst:             level_to_str
        - Src:             'kernel_to_cil.c:2545,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2548,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2550,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2554,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2559,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2565,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2567,12'
          Dst:             range_to_str
        - Src:             'kernel_to_cil.c:2572,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2575,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2577,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2582,3'
          Dst:             strs_destroy
    - functionName:    write_role_allow_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2413
      functionLinenumberEnd: 2447
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          144
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2419,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2428,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:2436,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2437,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2440,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2441,2'
          Dst:             strs_destroy
    - functionName:    write_role_transition_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2372
      functionLinenumberEnd: 2409
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          172
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2378,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2389,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:2398,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2399,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2402,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2403,2'
          Dst:             strs_destroy
    - functionName:    write_role_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2368
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         84
      ICount:          528
      EdgeCount:       113
      CyclomaticComplexity: 31
      functionsReached:
        - ebitmap_to_strs
        - hashtab_search
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2256,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2264,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2271,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2273,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2276,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2280,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2284,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2288,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2296,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2301,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2305,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2312,9'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2316,9'
          Dst:             ebitmap_to_strs
        - Src:             'kernel_to_cil.c:2318,5'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2321,4'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2323,16'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2325,12'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2326,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2328,4'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2332,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2334,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2342,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2349,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2351,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2354,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2358,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2362,2'
          Dst:             strs_destroy
    - functionName:    write_cond_nodes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2170
      functionLinenumberEnd: 2243
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         45
      ICount:          303
      EdgeCount:       58
      CyclomaticComplexity: 15
      functionsReached:
        - calloc
        - cond_expr_to_str
        - cond_node_cmp
        - qsort
        - sepol_indent
        - sepol_printf
        - write_cond_av_list_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2181,14'
          Dst:             calloc
        - Src:             'kernel_to_cil.c:2190,10'
          Dst:             cond_expr_to_str
        - Src:             'kernel_to_cil.c:2199,2'
          Dst:             qsort
        - Src:             'kernel_to_cil.c:2199,2'
          Dst:             cond_node_cmp
        - Src:             'kernel_to_cil.c:2205,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2208,4'
          Dst:             sepol_indent
        - Src:             'kernel_to_cil.c:2209,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2210,9'
          Dst:             write_cond_av_list_to_cil
        - Src:             'kernel_to_cil.c:2214,4'
          Dst:             sepol_indent
        - Src:             'kernel_to_cil.c:2215,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2219,4'
          Dst:             sepol_indent
        - Src:             'kernel_to_cil.c:2220,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2221,9'
          Dst:             write_cond_av_list_to_cil
        - Src:             'kernel_to_cil.c:2225,4'
          Dst:             sepol_indent
        - Src:             'kernel_to_cil.c:2226,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2228,3'
          Dst:             sepol_printf
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write_range_trans_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2074
      functionLinenumberEnd: 2103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          109
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - hashtab_map
        - map_range_trans_to_str
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2079,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2087,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:2087,7'
          Dst:             map_range_trans_to_str
        - Src:             'kernel_to_cil.c:2092,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2093,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2096,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2097,2'
          Dst:             strs_destroy
    - functionName:    write_filename_trans_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1963
      functionLinenumberEnd: 1992
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          109
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - hashtab_map
        - map_filename_trans_to_str
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1968,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1976,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1976,7'
          Dst:             map_filename_trans_to_str
        - Src:             'kernel_to_cil.c:1981,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1982,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:1985,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:1986,2'
          Dst:             strs_destroy
    - functionName:    write_avtab_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1905
      functionLinenumberEnd: 1921
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          105
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - write_avtab_flavor_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1910,8'
          Dst:             write_avtab_flavor_to_cil
    - functionName:    write_type_neveraudit_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1614
      functionLinenumberEnd: 1652
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          198
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1621,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1626,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1626,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1627,8'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1626,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_cil.c:1633,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1635,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1637,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1642,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1646,2'
          Dst:             strs_destroy
    - functionName:    write_type_permissive_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1572
      functionLinenumberEnd: 1610
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          198
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1579,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1584,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1584,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1585,8'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1584,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_cil.c:1591,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1593,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1595,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1600,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1604,2'
          Dst:             strs_destroy
    - functionName:    write_type_attribute_sets_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1524
      functionLinenumberEnd: 1568
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          199
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_to_str
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1532,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1543,11'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_cil.c:1549,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:1557,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1558,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:1561,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:1562,2'
          Dst:             strs_destroy
    - functionName:    write_type_bounds_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1470
      functionLinenumberEnd: 1520
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         36
      ICount:          236
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - hashtab_search
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1478,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1487,10'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1495,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1497,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1499,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1504,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:1510,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1514,2'
          Dst:             strs_destroy
    - functionName:    write_type_alias_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1410
      functionLinenumberEnd: 1466
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          216
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - hashtab_map
        - hashtab_search
        - map_count_type_aliases
        - map_type_aliases_to_strs
        - sepol_printf
        - strs_destroy
        - strs_init
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1418,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1418,7'
          Dst:             map_count_type_aliases
        - Src:             'kernel_to_cil.c:1423,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1428,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1428,7'
          Dst:             map_type_aliases_to_strs
        - Src:             'kernel_to_cil.c:1433,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1436,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1441,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1445,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1450,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:1456,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1460,2'
          Dst:             strs_destroy
    - functionName:    write_type_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1342
      functionLinenumberEnd: 1383
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          205
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1349,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1357,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1364,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1366,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1368,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1373,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1377,2'
          Dst:             strs_destroy
    - functionName:    write_boolean_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1313
      functionLinenumberEnd: 1338
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          105
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - hashtab_map
        - map_boolean_to_strs
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1317,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1322,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1322,7'
          Dst:             map_boolean_to_strs
        - Src:             'kernel_to_cil.c:1327,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1328,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:1331,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:1332,2'
          Dst:             strs_destroy
    - functionName:    write_role_attributes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1298
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          195
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1264,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1272,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1279,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1281,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1283,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1288,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1292,2'
          Dst:             strs_destroy
    - functionName:    write_type_attributes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1212
      functionLinenumberEnd: 1253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          195
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1219,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1227,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1234,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1236,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1238,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1243,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1247,2'
          Dst:             strs_destroy
    - functionName:    write_polcap_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1171
      functionLinenumberEnd: 1208
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          202
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - sepol_polcap_getname
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1178,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1183,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1183,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1184,10'
          Dst:             sepol_polcap_getname
        - Src:             'kernel_to_cil.c:1191,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:1183,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_cil.c:1197,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1198,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:1201,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:1202,2'
          Dst:             strs_destroy
    - functionName:    write_mls_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1135
      functionLinenumberEnd: 1168
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          127
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - sepol_printf
        - write_category_rules_to_cil
        - write_default_mls_level
        - write_sensitivity_rules_to_cil
        - write_sensitivitycategory_rules_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1139,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1141,3'
          Dst:             write_default_mls_level
        - Src:             'kernel_to_cil.c:1145,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1147,7'
          Dst:             write_sensitivity_rules_to_cil
        - Src:             'kernel_to_cil.c:1152,7'
          Dst:             write_category_rules_to_cil
        - Src:             'kernel_to_cil.c:1157,7'
          Dst:             write_sensitivitycategory_rules_to_cil
    - functionName:    write_default_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 723
      functionLinenumberEnd: 786
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         59
      ICount:          350
      EdgeCount:       78
      CyclomaticComplexity: 21
      functionsReached:
        - write_default_range_to_cil
        - write_default_role_to_cil
        - write_default_type_to_cil
        - write_default_user_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:733,9'
          Dst:             write_default_user_to_cil
        - Src:             'kernel_to_cil.c:745,9'
          Dst:             write_default_role_to_cil
        - Src:             'kernel_to_cil.c:757,9'
          Dst:             write_default_type_to_cil
        - Src:             'kernel_to_cil.c:773,9'
          Dst:             write_default_range_to_cil
    - functionName:    write_sid_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 610
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          97
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - write_sids_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:614,8'
          Dst:             write_sids_to_cil
        - Src:             'kernel_to_cil.c:617,8'
          Dst:             write_sids_to_cil
    - functionName:    write_class_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         63
      ICount:          426
      EdgeCount:       82
      CyclomaticComplexity: 21
      functionsReached:
        - calloc
        - class_or_common_perms_to_str
        - hashtab_search
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:488,11'
          Dst:             class_or_common_perms_to_str
        - Src:             'kernel_to_cil.c:490,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:493,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:498,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:502,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:507,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:509,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:517,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:522,9'
          Dst:             calloc
        - Src:             'kernel_to_cil.c:533,13'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:541,13'
          Dst:             class_or_common_perms_to_str
        - Src:             'kernel_to_cil.c:549,5'
          Dst:             sepol_printf
    - functionName:    write_handle_unknown_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          88
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_cil.c:428,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:443,2'
          Dst:             sepol_printf
    - functionName:    validatetrans_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 421
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - class_validatetrans_rules_to_strs
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:410,9'
          Dst:             class_validatetrans_rules_to_strs
        - Src:             'kernel_to_cil.c:417,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:418,2'
          Dst:             strs_sort
    - functionName:    constraint_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          102
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - class_constraint_rules_to_strs
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:384,9'
          Dst:             class_constraint_rules_to_strs
        - Src:             'kernel_to_cil.c:391,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:392,2'
          Dst:             strs_sort
    - functionName:    sepol_kernel_policydb_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3258
      functionLinenumberEnd: 3534
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         127
      ICount:          775
      EdgeCount:       182
      CyclomaticComplexity: 57
      functionsReached:
        - constraint_rules_to_strs
        - sort_ocontexts
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_write_each
        - validatetrans_rules_to_strs
        - write_avtab_to_cil
        - write_boolean_decl_rules_to_cil
        - write_class_decl_rules_to_cil
        - write_cond_nodes_to_cil
        - write_default_rules_to_cil
        - write_filename_trans_rules_to_cil
        - write_genfscon_rules_to_cil
        - write_handle_unknown_to_cil
        - write_mls_rules_to_cil
        - write_polcap_rules_to_cil
        - write_range_trans_rules_to_cil
        - write_role_allow_rules_to_cil
        - write_role_attributes_to_cil
        - write_role_decl_rules_to_cil
        - write_role_transition_rules_to_cil
        - write_selinux_fsuse_rules_to_cil
        - write_selinux_ibendport_rules_to_cil
        - write_selinux_ibpkey_rules_to_cil
        - write_selinux_isid_rules_to_cil
        - write_selinux_netif_rules_to_cil
        - write_selinux_node6_rules_to_cil
        - write_selinux_node_rules_to_cil
        - write_selinux_port_rules_to_cil
        - write_sid_decl_rules_to_cil
        - write_type_alias_rules_to_cil
        - write_type_attribute_sets_to_cil
        - write_type_attributes_to_cil
        - write_type_bounds_rules_to_cil
        - write_type_decl_rules_to_cil
        - write_type_neveraudit_rules_to_cil
        - write_type_permissive_rules_to_cil
        - write_user_decl_rules_to_cil
        - write_xen_devicetree_rules_to_cil
        - write_xen_iomem_rules_to_cil
        - write_xen_ioport_rules_to_cil
        - write_xen_isid_rules_to_cil
        - write_xen_pcidevice_rules_to_cil
        - write_xen_pirq_rules_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:3265,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:3270,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:3275,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:3280,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:3309,7'
          Dst:             constraint_rules_to_strs
        - Src:             'kernel_to_cil.c:3314,7'
          Dst:             validatetrans_rules_to_strs
        - Src:             'kernel_to_cil.c:3319,7'
          Dst:             write_handle_unknown_to_cil
        - Src:             'kernel_to_cil.c:3324,7'
          Dst:             write_class_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3329,7'
          Dst:             write_sid_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3334,7'
          Dst:             write_default_rules_to_cil
        - Src:             'kernel_to_cil.c:3339,7'
          Dst:             write_mls_rules_to_cil
        - Src:             'kernel_to_cil.c:3344,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:3345,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:3347,7'
          Dst:             write_polcap_rules_to_cil
        - Src:             'kernel_to_cil.c:3352,7'
          Dst:             write_type_attributes_to_cil
        - Src:             'kernel_to_cil.c:3357,7'
          Dst:             write_role_attributes_to_cil
        - Src:             'kernel_to_cil.c:3362,7'
          Dst:             write_boolean_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3367,7'
          Dst:             write_type_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3372,7'
          Dst:             write_type_alias_rules_to_cil
        - Src:             'kernel_to_cil.c:3377,7'
          Dst:             write_type_bounds_rules_to_cil
        - Src:             'kernel_to_cil.c:3382,7'
          Dst:             write_type_attribute_sets_to_cil
        - Src:             'kernel_to_cil.c:3387,7'
          Dst:             write_type_permissive_rules_to_cil
        - Src:             'kernel_to_cil.c:3392,7'
          Dst:             write_type_neveraudit_rules_to_cil
        - Src:             'kernel_to_cil.c:3397,7'
          Dst:             write_avtab_to_cil
        - Src:             'kernel_to_cil.c:3402,7'
          Dst:             write_filename_trans_rules_to_cil
        - Src:             'kernel_to_cil.c:3408,8'
          Dst:             write_range_trans_rules_to_cil
        - Src:             'kernel_to_cil.c:3414,7'
          Dst:             write_cond_nodes_to_cil
        - Src:             'kernel_to_cil.c:3419,7'
          Dst:             write_role_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3424,7'
          Dst:             write_role_transition_rules_to_cil
        - Src:             'kernel_to_cil.c:3429,7'
          Dst:             write_role_allow_rules_to_cil
        - Src:             'kernel_to_cil.c:3434,7'
          Dst:             write_user_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3439,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:3440,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:3442,7'
          Dst:             sort_ocontexts
        - Src:             'kernel_to_cil.c:3448,8'
          Dst:             write_selinux_isid_rules_to_cil
        - Src:             'kernel_to_cil.c:3453,8'
          Dst:             write_selinux_fsuse_rules_to_cil
        - Src:             'kernel_to_cil.c:3458,8'
          Dst:             write_genfscon_rules_to_cil
        - Src:             'kernel_to_cil.c:3463,8'
          Dst:             write_selinux_port_rules_to_cil
        - Src:             'kernel_to_cil.c:3468,8'
          Dst:             write_selinux_netif_rules_to_cil
        - Src:             'kernel_to_cil.c:3473,8'
          Dst:             write_selinux_node_rules_to_cil
        - Src:             'kernel_to_cil.c:3478,8'
          Dst:             write_selinux_node6_rules_to_cil
        - Src:             'kernel_to_cil.c:3483,8'
          Dst:             write_selinux_ibpkey_rules_to_cil
        - Src:             'kernel_to_cil.c:3488,8'
          Dst:             write_selinux_ibendport_rules_to_cil
        - Src:             'kernel_to_cil.c:3493,8'
          Dst:             write_xen_isid_rules_to_cil
        - Src:             'kernel_to_cil.c:3498,8'
          Dst:             write_xen_pirq_rules_to_cil
        - Src:             'kernel_to_cil.c:3503,8'
          Dst:             write_xen_ioport_rules_to_cil
        - Src:             'kernel_to_cil.c:3508,8'
          Dst:             write_xen_iomem_rules_to_cil
        - Src:             'kernel_to_cil.c:3513,8'
          Dst:             write_xen_pcidevice_rules_to_cil
        - Src:             'kernel_to_cil.c:3518,8'
          Dst:             write_xen_devicetree_rules_to_cil
        - Src:             'kernel_to_cil.c:3525,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:3526,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:3527,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:3528,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:3529,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:3530,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:3531,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:3532,2'
          Dst:             strs_destroy
    - functionName:    compare_ranges
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 453
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dtree_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 634
      functionLinenumberEnd: 638
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:638,9'
          Dst:             strcmp
    - functionName:    pcid_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 631
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          54
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iomem_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 616
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - compare_ranges
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:615,9'
          Dst:             compare_ranges
    - functionName:    ioport_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 602
      functionLinenumberEnd: 607
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - compare_ranges
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:606,9'
          Dst:             compare_ranges
    - functionName:    pirq_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          58
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ibendport_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 575
      functionLinenumberEnd: 585
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          82
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:580,7'
          Dst:             strcmp
    - functionName:    ibpkey_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 561
      functionLinenumberEnd: 572
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          77
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - compare_ranges
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:570,9'
          Dst:             compare_ranges
    - functionName:    node6_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:550,7'
          Dst:             memcmp
        - Src:             'kernel_to_common.c:557,9'
          Dst:             memcmp
    - functionName:    node_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:534,7'
          Dst:             memcmp
        - Src:             'kernel_to_common.c:541,9'
          Dst:             memcmp
    - functionName:    netif_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 491
      functionLinenumberEnd: 526
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          170
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
        - strcspn
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:497,18'
          Dst:             strcspn
        - Src:             'kernel_to_common.c:498,18'
          Dst:             strcspn
        - Src:             'kernel_to_common.c:499,17'
          Dst:             strlen
        - Src:             'kernel_to_common.c:500,17'
          Dst:             strlen
        - Src:             'kernel_to_common.c:512,10'
          Dst:             strcmp
        - Src:             'kernel_to_common.c:525,9'
          Dst:             strcmp
    - functionName:    strcspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    portcon_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 487
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          103
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - compare_ranges
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:477,7'
          Dst:             compare_ranges
    - functionName:    fsuse_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          69
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:468,9'
          Dst:             strcmp
    - functionName:    sort_ocontext_data
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 642
      functionLinenumberEnd: 679
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          177
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - qsort
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:656,9'
          Dst:             calloc
        - Src:             'kernel_to_common.c:668,2'
          Dst:             qsort
    - functionName:    sort_ocontexts
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 752
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         42
      ICount:          246
      EdgeCount:       58
      CyclomaticComplexity: 18
      functionsReached:
        - dtree_data_cmp
        - fsuse_data_cmp
        - ibendport_data_cmp
        - ibpkey_data_cmp
        - iomem_data_cmp
        - ioport_data_cmp
        - netif_data_cmp
        - node6_data_cmp
        - node_data_cmp
        - pcid_data_cmp
        - pirq_data_cmp
        - portcon_data_cmp
        - sort_ocontext_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:686,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:686,8'
          Dst:             fsuse_data_cmp
        - Src:             'kernel_to_common.c:691,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:691,8'
          Dst:             portcon_data_cmp
        - Src:             'kernel_to_common.c:696,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:696,8'
          Dst:             netif_data_cmp
        - Src:             'kernel_to_common.c:701,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:701,8'
          Dst:             node_data_cmp
        - Src:             'kernel_to_common.c:706,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:706,8'
          Dst:             node6_data_cmp
        - Src:             'kernel_to_common.c:711,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:711,8'
          Dst:             ibpkey_data_cmp
        - Src:             'kernel_to_common.c:716,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:716,8'
          Dst:             ibendport_data_cmp
        - Src:             'kernel_to_common.c:721,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:721,8'
          Dst:             pirq_data_cmp
        - Src:             'kernel_to_common.c:726,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:726,8'
          Dst:             ioport_data_cmp
        - Src:             'kernel_to_common.c:731,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:731,8'
          Dst:             iomem_data_cmp
        - Src:             'kernel_to_common.c:736,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:736,8'
          Dst:             pcid_data_cmp
        - Src:             'kernel_to_common.c:741,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:741,8'
          Dst:             dtree_data_cmp
    - functionName:    isids_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 431
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          198
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - snprintf
        - strdup
        - strs_add_at_index
        - strs_destroy
        - strs_free_all
        - strs_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:394,7'
          Dst:             strs_init
        - Src:             'kernel_to_common.c:409,10'
          Dst:             strdup
        - Src:             'kernel_to_common.c:411,4'
          Dst:             snprintf
        - Src:             'kernel_to_common.c:412,10'
          Dst:             strdup
        - Src:             'kernel_to_common.c:418,8'
          Dst:             strs_add_at_index
        - Src:             'kernel_to_common.c:428,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_common.c:429,2'
          Dst:             strs_destroy
    - functionName:    strs_init
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          147
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
      functionUses:    61
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:75,14'
          Dst:             calloc
    - functionName:    strs_add_at_index
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          155
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - reallocarray
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:179,9'
          Dst:             reallocarray
    - functionName:    strs_free_all
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    37
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strs_destroy
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    73
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reallocarray
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strs_stack_empty
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strs_num_items
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:382,9'
          Dst:             strs_num_items
    - functionName:    strs_num_items
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    35
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strs_stack_pop
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strs_remove_last
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:377,9'
          Dst:             strs_remove_last
    - functionName:    strs_remove_last
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          38
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strs_stack_push
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strs_add
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:372,9'
          Dst:             strs_add
    - functionName:    strs_add
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          132
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - reallocarray
      functionUses:    31
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:122,9'
          Dst:             reallocarray
    - functionName:    strs_stack_destroy
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strs_destroy
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:367,9'
          Dst:             strs_destroy
    - functionName:    strs_stack_init
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strs_init
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:362,9'
          Dst:             strs_init
    - functionName:    ebitmap_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 357
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ebitmap_to_strs
        - strs_destroy
        - strs_init
        - strs_sort
        - strs_to_str
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:338,7'
          Dst:             strs_init
        - Src:             'kernel_to_common.c:343,7'
          Dst:             ebitmap_to_strs
        - Src:             'kernel_to_common.c:349,3'
          Dst:             strs_sort
        - Src:             'kernel_to_common.c:352,8'
          Dst:             strs_to_str
        - Src:             'kernel_to_common.c:355,2'
          Dst:             strs_destroy
    - functionName:    ebitmap_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - strs_add
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:319,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_common.c:319,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_common.c:323,8'
          Dst:             strs_add
        - Src:             'kernel_to_common.c:319,2'
          Dst:             ebitmap_next
    - functionName:    strs_sort
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - qsort
        - strs_cmp
      functionUses:    53
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:217,2'
          Dst:             qsort
        - Src:             'kernel_to_common.c:217,2'
          Dst:             strs_cmp
    - functionName:    strs_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          187
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - snprintf
        - strlen
        - strs_len_items
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:251,8'
          Dst:             strs_len_items
        - Src:             'kernel_to_common.c:261,9'
          Dst:             strlen
        - Src:             'kernel_to_common.c:262,8'
          Dst:             snprintf
    - functionName:    strs_len_items
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:232,10'
          Dst:             strlen
    - functionName:    strs_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:209,9'
          Dst:             strcmp
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hashtab_ordered_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strs_add_at_index
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:310,9'
          Dst:             strs_add_at_index
    - functionName:    strs_write_each_indented
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sepol_indent
        - sepol_printf
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:300,3'
          Dst:             sepol_indent
        - Src:             'kernel_to_common.c:301,3'
          Dst:             sepol_printf
    - functionName:    sepol_indent
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - fprintf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:28,6'
          Dst:             fprintf
    - functionName:    sepol_printf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - vfprintf
      functionUses:    135
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:37,6'
          Dst:             vfprintf
    - functionName:    strs_write_each
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 281
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sepol_printf
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:288,3'
          Dst:             sepol_printf
    - functionName:    strs_read_at_index
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    40
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strs_create_and_add
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strs_add
        - vasprintf
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:144,7'
          Dst:             vasprintf
        - Src:             'kernel_to_common.c:150,7'
          Dst:             strs_add
    - functionName:    vasprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    create_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - vasprintf
      functionUses:    36
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:50,7'
          Dst:             vasprintf
    - functionName:    context_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2449
      functionLinenumberEnd: 2465
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          90
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - create_str
        - range_to_str
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2458,11'
          Dst:             range_to_str
        - Src:             'kernel_to_conf.c:2459,9'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:2462,9'
          Dst:             create_str
    - functionName:    range_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1974
      functionLinenumberEnd: 1995
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - create_str
        - level_to_str
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1979,8'
          Dst:             level_to_str
        - Src:             'kernel_to_conf.c:1984,9'
          Dst:             level_to_str
        - Src:             'kernel_to_conf.c:1989,14'
          Dst:             create_str
    - functionName:    level_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1956
      functionLinenumberEnd: 1970
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cats_ebitmap_to_str
        - create_str
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1963,14'
          Dst:             cats_ebitmap_to_str
        - Src:             'kernel_to_conf.c:1964,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:1967,15'
          Dst:             create_str
    - functionName:    cats_ebitmap_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1035
      functionLinenumberEnd: 1090
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          225
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - cats_ebitmap_len
        - ebitmap_get_bit
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1042,19'
          Dst:             cats_ebitmap_len
        - Src:             'kernel_to_conf.c:1055,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1055,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1061,7'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_conf.c:1066,10'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:1070,10'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:1055,2'
          Dst:             ebitmap_next
    - functionName:    cats_ebitmap_len
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1008
      functionLinenumberEnd: 1031
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          128
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - ebitmap_get_bit
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1014,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1014,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1020,7'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_conf.c:1023,10'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:1025,11'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:1014,2'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write_sid_context_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2469
      functionLinenumberEnd: 2522
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          199
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - context_to_str
        - create_str
        - snprintf
        - strs_add_at_index
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_write_each
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2478,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2488,4'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2492,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2498,10'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:2505,8'
          Dst:             strs_add_at_index
        - Src:             'kernel_to_conf.c:2512,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2515,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2516,2'
          Dst:             strs_destroy
    - functionName:    write_cond_av_list_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2067
      functionLinenumberEnd: 2115
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          149
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - avtab_node_to_str
        - strs_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each_indented
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2080,8'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2090,12'
          Dst:             avtab_node_to_str
        - Src:             'kernel_to_conf.c:2095,10'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:2103,3'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2104,3'
          Dst:             strs_write_each_indented
        - Src:             'kernel_to_conf.c:2105,3'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2106,3'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:2112,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2113,2'
          Dst:             strs_destroy
    - functionName:    avtab_node_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1713
      functionLinenumberEnd: 1800
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          453
      EdgeCount:       70
      CyclomaticComplexity: 14
      functionsReached:
        - create_str
        - sepol_av_to_string
        - sepol_extended_perms_to_string
      functionUses:    2
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:1719,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:1764,16'
          Dst:             sepol_av_to_string
        - Src:             'kernel_to_conf.c:1774,10'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:1778,16'
          Dst:             sepol_extended_perms_to_string
        - Src:             'kernel_to_conf.c:1784,10'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:1789,10'
          Dst:             create_str
    - functionName:    cond_node_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2123
      functionLinenumberEnd: 2126
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2126,9'
          Dst:             strcmp
    - functionName:    cond_expr_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         77
      ICount:          482
      EdgeCount:       95
      CyclomaticComplexity: 20
      functionsReached:
        - create_str
        - strs_stack_destroy
        - strs_stack_empty
        - strs_stack_init
        - strs_stack_pop
        - strs_stack_push
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:54,4'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:39,7'
          Dst:             strs_stack_init
        - Src:             'kernel_to_conf.c:47,14'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:67,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:73,11'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:80,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:83,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:91,8'
          Dst:             strs_stack_push
        - Src:             'kernel_to_conf.c:98,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:99,19'
          Dst:             strs_stack_empty
        - Src:             'kernel_to_conf.c:106,2'
          Dst:             strs_stack_destroy
        - Src:             'kernel_to_conf.c:111,21'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:114,3'
          Dst:             strs_stack_destroy
    - functionName:    map_range_trans_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2004
      functionLinenumberEnd: 2030
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          111
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - range_to_str
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2016,10'
          Dst:             range_to_str
        - Src:             'kernel_to_conf.c:2022,7'
          Dst:             strs_create_and_add
    - functionName:    map_filename_trans_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1890
      functionLinenumberEnd: 1920
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          181
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1907,3'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1907,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1909,9'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:1907,3'
          Dst:             ebitmap_next
    - functionName:    map_avtab_write_helper
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1809
      functionLinenumberEnd: 1831
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          84
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - avtab_node_to_str
        - strs_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1818,10'
          Dst:             avtab_node_to_str
        - Src:             'kernel_to_conf.c:1823,8'
          Dst:             strs_add
    - functionName:    write_avtab_flavor_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1835
      functionLinenumberEnd: 1861
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - avtab_map
        - map_avtab_write_helper
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each_indented
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1840,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1849,7'
          Dst:             avtab_map
        - Src:             'kernel_to_conf.c:1849,7'
          Dst:             map_avtab_write_helper
        - Src:             'kernel_to_conf.c:1854,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1855,2'
          Dst:             strs_write_each_indented
        - Src:             'kernel_to_conf.c:1858,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:1859,2'
          Dst:             strs_destroy
    - functionName:    attr_strs_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1502
      functionLinenumberEnd: 1541
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          193
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - snprintf
        - strlen
        - strs_len_items
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1514,8'
          Dst:             strs_len_items
        - Src:             'kernel_to_conf.c:1524,9'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:1525,8'
          Dst:             snprintf
    - functionName:    attrmap_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1545
      functionLinenumberEnd: 1567
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - attr_strs_to_str
        - ebitmap_to_strs
        - strs_destroy
        - strs_init
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1550,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1555,7'
          Dst:             ebitmap_to_strs
        - Src:             'kernel_to_conf.c:1560,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1562,8'
          Dst:             attr_strs_to_str
        - Src:             'kernel_to_conf.c:1565,2'
          Dst:             strs_destroy
    - functionName:    map_type_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1385
      functionLinenumberEnd: 1393
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strs_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1391,8'
          Dst:             strs_add
    - functionName:    map_count_type_aliases
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1374
      functionLinenumberEnd: 1381
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    map_boolean_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1289
      functionLinenumberEnd: 1296
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1296,9'
          Dst:             strs_create_and_add
    - functionName:    map_category_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 900
      functionLinenumberEnd: 909
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strs_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:906,8'
          Dst:             strs_add
    - functionName:    map_sensitivity_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 769
      functionLinenumberEnd: 778
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strs_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:775,8'
          Dst:             strs_add
    - functionName:    write_level_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1093
      functionLinenumberEnd: 1123
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          167
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - cats_ebitmap_to_str
        - hashtab_search
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1102,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:1110,11'
          Dst:             cats_ebitmap_to_str
        - Src:             'kernel_to_conf.c:1111,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1114,4'
          Dst:             sepol_printf
    - functionName:    write_category_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 913
      functionLinenumberEnd: 1004
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         60
      ICount:          392
      EdgeCount:       80
      CyclomaticComplexity: 22
      functionsReached:
        - calloc
        - create_str
        - hashtab_map
        - hashtab_search
        - map_category_aliases_to_strs
        - sepol_printf
        - strchr
        - strdup
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:921,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:926,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:926,7'
          Dst:             map_category_aliases_to_strs
        - Src:             'kernel_to_conf.c:931,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:934,19'
          Dst:             calloc
        - Src:             'kernel_to_conf.c:942,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:943,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:950,24'
          Dst:             strdup
        - Src:             'kernel_to_conf.c:957,24'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:971,9'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:980,8'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:981,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:983,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:986,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:998,2'
          Dst:             strs_destroy
    - functionName:    write_sensitivity_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 782
      functionLinenumberEnd: 896
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         76
      ICount:          484
      EdgeCount:       102
      CyclomaticComplexity: 28
      functionsReached:
        - calloc
        - create_str
        - hashtab_map
        - hashtab_search
        - map_sensitivity_aliases_to_strs
        - sepol_printf
        - strchr
        - strdup
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:790,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:795,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:795,7'
          Dst:             map_sensitivity_aliases_to_strs
        - Src:             'kernel_to_conf.c:800,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:803,20'
          Dst:             calloc
        - Src:             'kernel_to_conf.c:811,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:812,12'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:819,25'
          Dst:             strdup
        - Src:             'kernel_to_conf.c:826,25'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:840,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:849,8'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:850,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:852,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:855,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:860,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:865,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:873,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:878,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:880,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:890,2'
          Dst:             strs_destroy
    - functionName:    write_default_range_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 668
      functionLinenumberEnd: 700
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          113
      EdgeCount:       18
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:671,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:697,2'
          Dst:             sepol_printf
    - functionName:    write_default_type_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 648
      functionLinenumberEnd: 665
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:651,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:662,2'
          Dst:             sepol_printf
    - functionName:    write_default_role_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 628
      functionLinenumberEnd: 645
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:631,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:642,2'
          Dst:             sepol_printf
    - functionName:    write_default_user_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 608
      functionLinenumberEnd: 625
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:611,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:622,2'
          Dst:             sepol_printf
    - functionName:    class_or_common_perms_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 532
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          65
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_map
        - hashtab_ordered_to_strs
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_to_str
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:515,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:520,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:520,7'
          Dst:             hashtab_ordered_to_strs
        - Src:             'kernel_to_conf.c:525,6'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:526,11'
          Dst:             strs_to_str
        - Src:             'kernel_to_conf.c:530,2'
          Dst:             strs_destroy
    - functionName:    write_sids_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 490
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          116
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - isids_to_strs
        - sepol_printf
        - strs_destroy
        - strs_free_all
        - strs_num_items
        - strs_read_at_index
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:470,9'
          Dst:             isids_to_strs
        - Src:             'kernel_to_conf.c:476,6'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:477,3'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:481,16'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:482,9'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:483,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:486,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:487,2'
          Dst:             strs_destroy
    - functionName:    class_validatetrans_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 373
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - constraint_expr_to_str
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:351,10'
          Dst:             constraint_expr_to_str
        - Src:             'kernel_to_conf.c:365,8'
          Dst:             strs_create_and_add
    - functionName:    constraint_expr_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         134
      ICount:          826
      EdgeCount:       161
      CyclomaticComplexity: 29
      functionsReached:
        - create_str
        - ebitmap_to_str
        - strchr
        - strdup
        - strs_stack_destroy
        - strs_stack_empty
        - strs_stack_init
        - strs_stack_pop
        - strs_stack_push
      functionUses:    2
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:141,4'
          Branch Sides:    []
        - Branch String:   'kernel_to_conf.c:152,4'
          Branch Sides:    []
        - Branch String:   'kernel_to_conf.c:208,4'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:131,7'
          Dst:             strs_stack_init
        - Src:             'kernel_to_conf.c:178,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:183,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:185,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:187,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:190,14'
          Dst:             strdup
        - Src:             'kernel_to_conf.c:196,9'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:197,16'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:199,16'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:218,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:224,11'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:231,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:234,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:241,8'
          Dst:             strs_stack_push
        - Src:             'kernel_to_conf.c:248,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:249,19'
          Dst:             strs_stack_empty
        - Src:             'kernel_to_conf.c:256,2'
          Dst:             strs_stack_destroy
        - Src:             'kernel_to_conf.c:262,21'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:265,3'
          Dst:             strs_stack_destroy
    - functionName:    class_constraint_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          281
      EdgeCount:       51
      CyclomaticComplexity: 13
      functionsReached:
        - constraint_expr_to_str
        - sepol_av_to_string
        - strchr
        - strs_create_and_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:288,10'
          Dst:             constraint_expr_to_str
        - Src:             'kernel_to_conf.c:294,11'
          Dst:             sepol_av_to_string
        - Src:             'kernel_to_conf.c:306,7'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:321,8'
          Dst:             strs_create_and_add
    - functionName:    write_xen_devicetree_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3085
      functionLinenumberEnd: 3108
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          115
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - context_to_str
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:3092,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3098,3'
          Dst:             sepol_printf
    - functionName:    write_xen_pcidevice_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3050
      functionLinenumberEnd: 3081
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          137
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:3057,8'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3063,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3069,3'
          Dst:             sepol_printf
    - functionName:    write_xen_ioport_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2964
      functionLinenumberEnd: 3003
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          164
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2976,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2978,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2985,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2991,3'
          Dst:             sepol_printf
    - functionName:    write_xen_iomem_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3007
      functionLinenumberEnd: 3046
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          164
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:3019,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3021,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3028,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3034,3'
          Dst:             sepol_printf
    - functionName:    write_xen_pirq_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2929
      functionLinenumberEnd: 2960
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          137
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2936,8'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2942,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2948,3'
          Dst:             sepol_printf
    - functionName:    write_xen_isid_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2923
      functionLinenumberEnd: 2924
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - write_sid_context_rules_to_conf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2924,9'
          Dst:             write_sid_context_rules_to_conf
    - functionName:    write_selinux_ibendport_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2887
      functionLinenumberEnd: 2919
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          142
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2895,8'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2901,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2907,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_ibpkey_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2830
      functionLinenumberEnd: 2883
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          224
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - context_to_str
        - inet_ntop
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2845,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:2855,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2857,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2864,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2870,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_node6_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2790
      functionLinenumberEnd: 2826
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          209
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - context_to_str
        - inet_ntop
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2798,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:2804,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:2810,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2816,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_node_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2749
      functionLinenumberEnd: 2785
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          209
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - context_to_str
        - inet_ntop
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2757,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:2763,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:2769,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2775,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_netif_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2715
      functionLinenumberEnd: 2745
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          135
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - context_to_str
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2722,10'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2727,10'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2734,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_port_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2660
      functionLinenumberEnd: 2711
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         37
      ICount:          245
      EdgeCount:       44
      CyclomaticComplexity: 9
      functionsReached:
        - context_to_str
        - sepol_printf
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:2670,3'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:2684,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2686,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2693,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2699,3'
          Dst:             sepol_printf
    - functionName:    write_genfscon_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2570
      functionLinenumberEnd: 2656
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         66
      ICount:          381
      EdgeCount:       86
      CyclomaticComplexity: 22
      functionsReached:
        - context_to_str
        - ebitmap_get_bit
        - strcmp
        - strlen
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2578,17'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_conf.c:2581,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2595,9'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2597,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2599,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2601,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2603,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2605,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2607,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2615,10'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2621,15'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:2632,10'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:2635,10'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:2645,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2646,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2649,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2650,2'
          Dst:             strs_destroy
    - functionName:    write_selinux_fsuse_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2532
      functionLinenumberEnd: 2566
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          182
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - context_to_str
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:2539,3'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:2550,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2556,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_isid_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2526
      functionLinenumberEnd: 2527
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - write_sid_context_rules_to_conf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2527,9'
          Dst:             write_sid_context_rules_to_conf
    - functionName:    write_user_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2366
      functionLinenumberEnd: 2445
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         48
      ICount:          307
      EdgeCount:       64
      CyclomaticComplexity: 18
      functionsReached:
        - ebitmap_to_str
        - hashtab_search
        - level_to_str
        - range_to_str
        - sepol_printf
        - strchr
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2373,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2380,8'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:2386,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2388,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:2391,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:2395,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:2400,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2403,12'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:2409,8'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:2410,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2412,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2418,12'
          Dst:             level_to_str
        - Src:             'kernel_to_conf.c:2423,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2426,12'
          Dst:             range_to_str
        - Src:             'kernel_to_conf.c:2431,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2434,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2439,3'
          Dst:             strs_destroy
    - functionName:    write_role_allow_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2328
      functionLinenumberEnd: 2362
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          144
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2334,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2343,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:2351,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2352,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2355,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2356,2'
          Dst:             strs_destroy
    - functionName:    write_role_transition_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2287
      functionLinenumberEnd: 2324
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          172
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2293,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2304,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:2313,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2314,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2317,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2318,2'
          Dst:             strs_destroy
    - functionName:    write_role_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2205
      functionLinenumberEnd: 2283
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         58
      ICount:          343
      EdgeCount:       77
      CyclomaticComplexity: 21
      functionsReached:
        - ebitmap_to_str
        - hashtab_search
        - sepol_printf
        - strchr
        - strlen
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2212,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2221,9'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:2228,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2230,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:2233,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:2237,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2241,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:2243,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:2249,11'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:2254,7'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:2259,11'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:2267,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2271,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2277,2'
          Dst:             strs_destroy
    - functionName:    write_cond_nodes_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2130
      functionLinenumberEnd: 2202
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         48
      ICount:          302
      EdgeCount:       62
      CyclomaticComplexity: 16
      functionsReached:
        - calloc
        - cond_expr_to_str
        - cond_node_cmp
        - qsort
        - sepol_printf
        - write_cond_av_list_to_conf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2146,14'
          Dst:             calloc
        - Src:             'kernel_to_conf.c:2155,10'
          Dst:             cond_expr_to_str
        - Src:             'kernel_to_conf.c:2164,2'
          Dst:             qsort
        - Src:             'kernel_to_conf.c:2164,2'
          Dst:             cond_node_cmp
        - Src:             'kernel_to_conf.c:2170,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2173,9'
          Dst:             write_cond_av_list_to_conf
        - Src:             'kernel_to_conf.c:2180,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2181,9'
          Dst:             write_cond_av_list_to_conf
        - Src:             'kernel_to_conf.c:2186,3'
          Dst:             sepol_printf
    - functionName:    write_range_trans_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2034
      functionLinenumberEnd: 2063
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          109
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - hashtab_map
        - map_range_trans_to_str
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:2039,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2047,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:2047,7'
          Dst:             map_range_trans_to_str
        - Src:             'kernel_to_conf.c:2052,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2053,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2056,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2057,2'
          Dst:             strs_destroy
    - functionName:    write_filename_trans_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1923
      functionLinenumberEnd: 1952
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          109
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - hashtab_map
        - map_filename_trans_to_str
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1928,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1936,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:1936,7'
          Dst:             map_filename_trans_to_str
        - Src:             'kernel_to_conf.c:1941,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1942,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:1945,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:1946,2'
          Dst:             strs_destroy
    - functionName:    write_avtab_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1865
      functionLinenumberEnd: 1881
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          105
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - write_avtab_flavor_to_conf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1870,8'
          Dst:             write_avtab_flavor_to_conf
    - functionName:    write_type_neveraudit_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1671
      functionLinenumberEnd: 1709
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          198
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1678,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1683,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1683,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1684,8'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1683,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_conf.c:1690,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1692,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1694,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1699,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1703,2'
          Dst:             strs_destroy
    - functionName:    write_type_permissive_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1629
      functionLinenumberEnd: 1667
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          198
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1636,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1641,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1641,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1642,8'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1641,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_conf.c:1648,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1650,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1652,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1657,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1661,2'
          Dst:             strs_destroy
    - functionName:    write_type_attribute_sets_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1571
      functionLinenumberEnd: 1625
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          235
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - attrmap_to_str
        - ebitmap_cardinality
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_set_bit
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1579,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1587,7'
          Dst:             ebitmap_cardinality
        - Src:             'kernel_to_conf.c:1589,8'
          Dst:             ebitmap_cpy
        - Src:             'kernel_to_conf.c:1593,8'
          Dst:             ebitmap_set_bit
        - Src:             'kernel_to_conf.c:1595,4'
          Dst:             ebitmap_destroy
        - Src:             'kernel_to_conf.c:1599,11'
          Dst:             attrmap_to_str
        - Src:             'kernel_to_conf.c:1600,3'
          Dst:             ebitmap_destroy
        - Src:             'kernel_to_conf.c:1606,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:1614,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1615,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:1618,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:1619,2'
          Dst:             strs_destroy
    - functionName:    write_type_bounds_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1448
      functionLinenumberEnd: 1498
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         36
      ICount:          236
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - hashtab_search
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1456,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1465,10'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1473,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1475,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1477,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1482,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:1488,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1492,2'
          Dst:             strs_destroy
    - functionName:    write_type_alias_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1397
      functionLinenumberEnd: 1444
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          185
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - hashtab_map
        - hashtab_search
        - map_count_type_aliases
        - map_type_aliases_to_strs
        - sepol_printf
        - strs_destroy
        - strs_init
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1405,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:1405,7'
          Dst:             map_count_type_aliases
        - Src:             'kernel_to_conf.c:1410,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1415,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:1415,7'
          Dst:             map_type_aliases_to_strs
        - Src:             'kernel_to_conf.c:1420,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1423,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1428,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:1434,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1438,2'
          Dst:             strs_destroy
    - functionName:    write_type_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1329
      functionLinenumberEnd: 1370
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          205
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1336,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1344,9'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1351,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1353,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1355,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1360,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1364,2'
          Dst:             strs_destroy
    - functionName:    write_boolean_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1300
      functionLinenumberEnd: 1325
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          105
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - hashtab_map
        - map_boolean_to_strs
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1304,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1309,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:1309,7'
          Dst:             map_boolean_to_strs
        - Src:             'kernel_to_conf.c:1314,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1315,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:1318,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:1319,2'
          Dst:             strs_destroy
    - functionName:    write_role_attributes_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1244
      functionLinenumberEnd: 1285
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          195
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1251,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1259,9'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1266,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1268,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1270,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1275,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1279,2'
          Dst:             strs_destroy
    - functionName:    write_type_attributes_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1199
      functionLinenumberEnd: 1240
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          195
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - sepol_printf
        - strs_add
        - strs_destroy
        - strs_init
        - strs_num_items
        - strs_read_at_index
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1206,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1214,9'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1221,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1223,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1225,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1230,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1234,2'
          Dst:             strs_destroy
    - functionName:    write_polcap_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1158
      functionLinenumberEnd: 1195
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          202
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - sepol_polcap_getname
        - strs_create_and_add
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_sort
        - strs_write_each
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1165,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1170,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1170,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1171,10'
          Dst:             sepol_polcap_getname
        - Src:             'kernel_to_conf.c:1178,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:1170,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_conf.c:1184,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1185,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:1188,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:1189,2'
          Dst:             strs_destroy
    - functionName:    write_mls_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1127
      functionLinenumberEnd: 1155
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          121
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - write_category_rules_to_conf
        - write_level_rules_to_conf
        - write_sensitivity_rules_to_conf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1134,7'
          Dst:             write_sensitivity_rules_to_conf
        - Src:             'kernel_to_conf.c:1139,7'
          Dst:             write_category_rules_to_conf
        - Src:             'kernel_to_conf.c:1144,7'
          Dst:             write_level_rules_to_conf
    - functionName:    write_default_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 703
      functionLinenumberEnd: 766
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         59
      ICount:          351
      EdgeCount:       78
      CyclomaticComplexity: 21
      functionsReached:
        - write_default_range_to_conf
        - write_default_role_to_conf
        - write_default_type_to_conf
        - write_default_user_to_conf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:713,9'
          Dst:             write_default_user_to_conf
        - Src:             'kernel_to_conf.c:725,9'
          Dst:             write_default_role_to_conf
        - Src:             'kernel_to_conf.c:737,9'
          Dst:             write_default_type_to_conf
        - Src:             'kernel_to_conf.c:753,9'
          Dst:             write_default_range_to_conf
    - functionName:    write_class_and_common_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 604
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         52
      ICount:          343
      EdgeCount:       68
      CyclomaticComplexity: 18
      functionsReached:
        - calloc
        - class_or_common_perms_to_str
        - hashtab_search
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:545,9'
          Dst:             calloc
        - Src:             'kernel_to_conf.c:556,12'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:564,12'
          Dst:             class_or_common_perms_to_str
        - Src:             'kernel_to_conf.c:570,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:582,11'
          Dst:             class_or_common_perms_to_str
        - Src:             'kernel_to_conf.c:586,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:588,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:592,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:595,4'
          Dst:             sepol_printf
    - functionName:    write_sid_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          97
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - write_sids_to_conf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:497,8'
          Dst:             write_sids_to_conf
        - Src:             'kernel_to_conf.c:500,8'
          Dst:             write_sids_to_conf
    - functionName:    write_class_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          51
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:457,3'
          Dst:             sepol_printf
    - functionName:    write_handle_unknown_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          88
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'kernel_to_conf.c:430,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:445,2'
          Dst:             sepol_printf
    - functionName:    validatetrans_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 423
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          104
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - class_validatetrans_rules_to_strs
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:412,9'
          Dst:             class_validatetrans_rules_to_strs
        - Src:             'kernel_to_conf.c:419,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:420,2'
          Dst:             strs_sort
    - functionName:    constraint_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 377
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          105
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - class_constraint_rules_to_strs
        - strs_sort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:387,9'
          Dst:             class_constraint_rules_to_strs
        - Src:             'kernel_to_conf.c:394,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:395,2'
          Dst:             strs_sort
    - functionName:    sepol_kernel_policydb_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3112
      functionLinenumberEnd: 3394
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         129
      ICount:          790
      EdgeCount:       185
      CyclomaticComplexity: 58
      functionsReached:
        - constraint_rules_to_strs
        - sort_ocontexts
        - strs_destroy
        - strs_free_all
        - strs_init
        - strs_write_each
        - validatetrans_rules_to_strs
        - write_avtab_to_conf
        - write_boolean_decl_rules_to_conf
        - write_class_and_common_rules_to_conf
        - write_class_decl_rules_to_conf
        - write_cond_nodes_to_conf
        - write_default_rules_to_conf
        - write_filename_trans_rules_to_conf
        - write_genfscon_rules_to_conf
        - write_handle_unknown_to_conf
        - write_mls_rules_to_conf
        - write_polcap_rules_to_conf
        - write_range_trans_rules_to_conf
        - write_role_allow_rules_to_conf
        - write_role_attributes_to_conf
        - write_role_decl_rules_to_conf
        - write_role_transition_rules_to_conf
        - write_selinux_fsuse_rules_to_conf
        - write_selinux_ibendport_rules_to_conf
        - write_selinux_ibpkey_rules_to_conf
        - write_selinux_isid_rules_to_conf
        - write_selinux_netif_rules_to_conf
        - write_selinux_node6_rules_to_conf
        - write_selinux_node_rules_to_conf
        - write_selinux_port_rules_to_conf
        - write_sid_decl_rules_to_conf
        - write_type_alias_rules_to_conf
        - write_type_attribute_sets_to_conf
        - write_type_attributes_to_conf
        - write_type_bounds_rules_to_conf
        - write_type_decl_rules_to_conf
        - write_type_neveraudit_rules_to_conf
        - write_type_permissive_rules_to_conf
        - write_user_decl_rules_to_conf
        - write_xen_devicetree_rules_to_conf
        - write_xen_iomem_rules_to_conf
        - write_xen_ioport_rules_to_conf
        - write_xen_isid_rules_to_conf
        - write_xen_pcidevice_rules_to_conf
        - write_xen_pirq_rules_to_conf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:3119,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:3124,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:3129,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:3134,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:3163,7'
          Dst:             constraint_rules_to_strs
        - Src:             'kernel_to_conf.c:3168,7'
          Dst:             validatetrans_rules_to_strs
        - Src:             'kernel_to_conf.c:3173,7'
          Dst:             write_handle_unknown_to_conf
        - Src:             'kernel_to_conf.c:3178,7'
          Dst:             write_class_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3183,7'
          Dst:             write_sid_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3188,7'
          Dst:             write_class_and_common_rules_to_conf
        - Src:             'kernel_to_conf.c:3193,7'
          Dst:             write_default_rules_to_conf
        - Src:             'kernel_to_conf.c:3198,7'
          Dst:             write_mls_rules_to_conf
        - Src:             'kernel_to_conf.c:3203,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:3204,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:3206,7'
          Dst:             write_polcap_rules_to_conf
        - Src:             'kernel_to_conf.c:3211,7'
          Dst:             write_type_attributes_to_conf
        - Src:             'kernel_to_conf.c:3216,7'
          Dst:             write_role_attributes_to_conf
        - Src:             'kernel_to_conf.c:3221,7'
          Dst:             write_boolean_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3226,7'
          Dst:             write_type_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3231,7'
          Dst:             write_type_alias_rules_to_conf
        - Src:             'kernel_to_conf.c:3236,7'
          Dst:             write_type_bounds_rules_to_conf
        - Src:             'kernel_to_conf.c:3241,7'
          Dst:             write_type_attribute_sets_to_conf
        - Src:             'kernel_to_conf.c:3246,7'
          Dst:             write_type_permissive_rules_to_conf
        - Src:             'kernel_to_conf.c:3251,7'
          Dst:             write_type_neveraudit_rules_to_conf
        - Src:             'kernel_to_conf.c:3256,7'
          Dst:             write_avtab_to_conf
        - Src:             'kernel_to_conf.c:3260,2'
          Dst:             write_filename_trans_rules_to_conf
        - Src:             'kernel_to_conf.c:3263,8'
          Dst:             write_range_trans_rules_to_conf
        - Src:             'kernel_to_conf.c:3269,7'
          Dst:             write_cond_nodes_to_conf
        - Src:             'kernel_to_conf.c:3274,7'
          Dst:             write_role_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3279,7'
          Dst:             write_role_transition_rules_to_conf
        - Src:             'kernel_to_conf.c:3284,7'
          Dst:             write_role_allow_rules_to_conf
        - Src:             'kernel_to_conf.c:3289,7'
          Dst:             write_user_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3294,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:3295,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:3297,7'
          Dst:             sort_ocontexts
        - Src:             'kernel_to_conf.c:3303,8'
          Dst:             write_selinux_isid_rules_to_conf
        - Src:             'kernel_to_conf.c:3308,8'
          Dst:             write_selinux_fsuse_rules_to_conf
        - Src:             'kernel_to_conf.c:3313,8'
          Dst:             write_genfscon_rules_to_conf
        - Src:             'kernel_to_conf.c:3318,8'
          Dst:             write_selinux_port_rules_to_conf
        - Src:             'kernel_to_conf.c:3323,8'
          Dst:             write_selinux_netif_rules_to_conf
        - Src:             'kernel_to_conf.c:3328,8'
          Dst:             write_selinux_node_rules_to_conf
        - Src:             'kernel_to_conf.c:3333,8'
          Dst:             write_selinux_node6_rules_to_conf
        - Src:             'kernel_to_conf.c:3338,8'
          Dst:             write_selinux_ibpkey_rules_to_conf
        - Src:             'kernel_to_conf.c:3343,8'
          Dst:             write_selinux_ibendport_rules_to_conf
        - Src:             'kernel_to_conf.c:3348,8'
          Dst:             write_xen_isid_rules_to_conf
        - Src:             'kernel_to_conf.c:3353,8'
          Dst:             write_genfscon_rules_to_conf
        - Src:             'kernel_to_conf.c:3358,8'
          Dst:             write_xen_pirq_rules_to_conf
        - Src:             'kernel_to_conf.c:3363,8'
          Dst:             write_xen_iomem_rules_to_conf
        - Src:             'kernel_to_conf.c:3368,8'
          Dst:             write_xen_ioport_rules_to_conf
        - Src:             'kernel_to_conf.c:3373,8'
          Dst:             write_xen_pcidevice_rules_to_conf
        - Src:             'kernel_to_conf.c:3378,8'
          Dst:             write_xen_devicetree_rules_to_conf
        - Src:             'kernel_to_conf.c:3385,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:3386,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:3387,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:3388,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:3389,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:3390,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:3391,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:3392,2'
          Dst:             strs_destroy
    - functionName:    find_perm
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1925
      functionLinenumberEnd: 1936
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          42
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    debug_requirements
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2038
      functionLinenumberEnd: 2104
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         63
      ICount:          455
      EdgeCount:       80
      CyclomaticComplexity: 19
      functionsReached:
        - find_perm
        - hashtab_map
        - is_decl_requires_met
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:2048,9'
          Dst:             is_decl_requires_met
        - Src:             'link.c:2062,11'
          Dst:             hashtab_map
        - Src:             'link.c:2062,11'
          Dst:             find_perm
    - functionName:    is_decl_requires_met
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1948
      functionLinenumberEnd: 2035
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          436
      EdgeCount:       86
      CyclomaticComplexity: 21
      functionsReached:
        - __assert_fail
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - find_perm
        - hashtab_map
        - hashtab_search
        - is_id_enabled
        - is_perm_existent
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1967,3'
          Dst:             ebitmap_start
        - Src:             'link.c:1967,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'link.c:1970,9'
          Dst:             is_id_enabled
        - Src:             'link.c:1967,3'
          Dst:             ebitmap_next
        - Src:             'link.c:1989,8'
          Dst:             is_id_enabled
        - Src:             'link.c:1996,11'
          Dst:             hashtab_search
        - Src:             'link.c:2004,3'
          Dst:             ebitmap_start
        - Src:             'link.c:2004,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'link.c:2012,10'
          Dst:             hashtab_map
        - Src:             'link.c:2012,10'
          Dst:             find_perm
        - Src:             'link.c:2015,10'
          Dst:             hashtab_map
        - Src:             'link.c:2015,10'
          Dst:             find_perm
        - Src:             'link.c:2017,5'
          Dst:             __assert_fail
        - Src:             'link.c:2021,4'
          Dst:             __assert_fail
        - Src:             'link.c:2022,9'
          Dst:             is_perm_existent
        - Src:             'link.c:2004,3'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    print_missing_requirements
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2109
      functionLinenumberEnd: 2138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          293
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - find_perm
        - hashtab_map
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:2124,10'
          Dst:             hashtab_map
        - Src:             'link.c:2124,10'
          Dst:             find_perm
    - functionName:    copy_scope_index
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1632
      functionLinenumberEnd: 1679
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          320
      EdgeCount:       60
      CyclomaticComplexity: 15
      functionsReached:
        - __assert_fail
        - calloc
        - ebitmap_convert
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1643,3'
          Dst:             ebitmap_start
        - Src:             'link.c:1643,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'link.c:1644,4'
          Dst:             __assert_fail
        - Src:             'link.c:1645,8'
          Dst:             ebitmap_set_bit
        - Src:             'link.c:1643,3'
          Dst:             ebitmap_next
        - Src:             'link.c:1660,31'
          Dst:             calloc
        - Src:             'link.c:1670,7'
          Dst:             ebitmap_convert
    - functionName:    ebitmap_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 980
      functionLinenumberEnd: 990
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          103
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:983,2'
          Dst:             ebitmap_start
        - Src:             'link.c:983,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'link.c:984,3'
          Dst:             __assert_fail
        - Src:             'link.c:985,7'
          Dst:             ebitmap_set_bit
        - Src:             'link.c:983,2'
          Dst:             ebitmap_next
    - functionName:    class_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          441
      EdgeCount:       74
      CyclomaticComplexity: 19
      functionsReached:
        - calloc
        - class_copy_default_new_object
        - hashtab_insert
        - hashtab_map
        - hashtab_search
        - permission_copy_callback
        - strdup
        - symtab_destroy
        - symtab_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:257,14'
          Dst:             hashtab_search
        - Src:             'link.c:265,7'
          Dst:             hashtab_search
        - Src:             'link.c:290,26'
          Dst:             calloc
        - Src:             'link.c:296,8'
          Dst:             symtab_init
        - Src:             'link.c:301,13'
          Dst:             strdup
        - Src:             'link.c:304,5'
          Dst:             symtab_destroy
        - Src:             'link.c:308,10'
          Dst:             hashtab_insert
        - Src:             'link.c:314,5'
          Dst:             symtab_destroy
        - Src:             'link.c:330,8'
          Dst:             class_copy_default_new_object
        - Src:             'link.c:335,6'
          Dst:             hashtab_map
        - Src:             'link.c:335,6'
          Dst:             permission_copy_callback
    - functionName:    role_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          500
      EdgeCount:       90
      CyclomaticComplexity: 23
      functionsReached:
        - hashtab_insert
        - hashtab_search
        - role_datum_destroy
        - role_datum_init
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:358,14'
          Dst:             hashtab_search
        - Src:             'link.c:381,17'
          Dst:             strdup
        - Src:             'link.c:389,3'
          Dst:             role_datum_init
        - Src:             'link.c:396,9'
          Dst:             hashtab_insert
        - Src:             'link.c:411,3'
          Dst:             role_datum_init
        - Src:             'link.c:414,17'
          Dst:             strdup
        - Src:             'link.c:417,7'
          Dst:             hashtab_insert
        - Src:             'link.c:429,2'
          Dst:             role_datum_destroy
    - functionName:    type_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 531
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          562
      EdgeCount:       101
      CyclomaticComplexity: 26
      functionsReached:
        - calloc
        - hashtab_insert
        - hashtab_search
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:453,14'
          Dst:             hashtab_search
        - Src:             'link.c:478,17'
          Dst:             strdup
        - Src:             'link.c:483,25'
          Dst:             calloc
        - Src:             'link.c:494,9'
          Dst:             hashtab_insert
        - Src:             'link.c:506,19'
          Dst:             calloc
        - Src:             'link.c:513,17'
          Dst:             strdup
        - Src:             'link.c:516,7'
          Dst:             hashtab_insert
    - functionName:    user_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          329
      EdgeCount:       55
      CyclomaticComplexity: 15
      functionsReached:
        - hashtab_insert
        - hashtab_search
        - strdup
        - user_datum_destroy
        - user_datum_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:543,14'
          Dst:             hashtab_search
        - Src:             'link.c:548,17'
          Dst:             strdup
        - Src:             'link.c:556,3'
          Dst:             user_datum_init
        - Src:             'link.c:562,9'
          Dst:             hashtab_insert
        - Src:             'link.c:577,3'
          Dst:             user_datum_init
        - Src:             'link.c:579,17'
          Dst:             strdup
        - Src:             'link.c:582,7'
          Dst:             hashtab_insert
        - Src:             'link.c:594,2'
          Dst:             user_datum_destroy
    - functionName:    bool_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 602
      functionLinenumberEnd: 667
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          386
      EdgeCount:       62
      CyclomaticComplexity: 16
      functionsReached:
        - cond_destroy_bool
        - hashtab_insert
        - hashtab_search
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:611,14'
          Dst:             hashtab_search
        - Src:             'link.c:616,17'
          Dst:             strdup
        - Src:             'link.c:626,9'
          Dst:             hashtab_insert
        - Src:             'link.c:651,10'
          Dst:             hashtab_search
        - Src:             'link.c:665,2'
          Dst:             cond_destroy_bool
    - functionName:    sens_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 671
      functionLinenumberEnd: 709
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          278
      EdgeCount:       46
      CyclomaticComplexity: 12
      functionsReached:
        - hashtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:679,15'
          Dst:             hashtab_search
        - Src:             'link.c:682,7'
          Dst:             hashtab_search
    - functionName:    cat_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 713
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          276
      EdgeCount:       46
      CyclomaticComplexity: 12
      functionsReached:
        - hashtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:721,13'
          Dst:             hashtab_search
        - Src:             'link.c:723,11'
          Dst:             hashtab_search
    - functionName:    class_copy_default_new_object
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          413
      EdgeCount:       88
      CyclomaticComplexity: 22
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    permission_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          546
      EdgeCount:       90
      CyclomaticComplexity: 22
      functionsReached:
        - calloc
        - hashtab_insert
        - hashtab_search
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:138,14'
          Dst:             hashtab_search
        - Src:             'link.c:141,7'
          Dst:             hashtab_search
        - Src:             'link.c:150,13'
          Dst:             strdup
        - Src:             'link.c:157,25'
          Dst:             calloc
        - Src:             'link.c:163,10'
          Dst:             hashtab_insert
        - Src:             'link.c:189,22'
          Dst:             calloc
    - functionName:    copy_range_trans_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1481
      functionLinenumberEnd: 1515
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          176
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - ebitmap_convert
        - mls_range_convert
        - range_trans_rule_init
        - range_trans_rule_list_destroy
        - type_set_convert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1490,3'
          Dst:             range_trans_rule_init
        - Src:             'link.c:1495,7'
          Dst:             type_set_convert
        - Src:             'link.c:1499,7'
          Dst:             type_set_convert
        - Src:             'link.c:1503,7'
          Dst:             ebitmap_convert
        - Src:             'link.c:1506,7'
          Dst:             mls_range_convert
        - Src:             'link.c:1513,2'
          Dst:             range_trans_rule_list_destroy
    - functionName:    type_set_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 994
      functionLinenumberEnd: 1006
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_convert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:995,6'
          Dst:             ebitmap_convert
        - Src:             'link.c:998,6'
          Dst:             ebitmap_convert
    - functionName:    mls_range_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1089
      functionLinenumberEnd: 1098
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - mls_level_convert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1091,8'
          Dst:             mls_level_convert
        - Src:             'link.c:1094,8'
          Dst:             mls_level_convert
    - functionName:    mls_level_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1053
      functionLinenumberEnd: 1085
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          247
      EdgeCount:       37
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - mls_semantic_cat_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1063,2'
          Dst:             __assert_fail
        - Src:             'link.c:1073,3'
          Dst:             mls_semantic_cat_init
        - Src:             'link.c:1078,3'
          Dst:             __assert_fail
        - Src:             'link.c:1080,3'
          Dst:             __assert_fail
    - functionName:    copy_filename_trans_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1437
      functionLinenumberEnd: 1476
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          235
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - filename_trans_rule_init
        - strdup
        - type_set_or_convert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1450,3'
          Dst:             filename_trans_rule_init
        - Src:             'link.c:1458,20'
          Dst:             strdup
        - Src:             'link.c:1462,7'
          Dst:             type_set_or_convert
        - Src:             'link.c:1463,7'
          Dst:             type_set_or_convert
    - functionName:    type_set_or_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1013
      functionLinenumberEnd: 1029
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - type_set_convert
        - type_set_destroy
        - type_set_init
        - type_set_or_eq
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1016,2'
          Dst:             type_set_init
        - Src:             'link.c:1017,6'
          Dst:             type_set_convert
        - Src:             'link.c:1020,6'
          Dst:             type_set_or_eq
        - Src:             'link.c:1023,2'
          Dst:             type_set_destroy
        - Src:             'link.c:1027,2'
          Dst:             type_set_destroy
    - functionName:    copy_cond_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1519
      functionLinenumberEnd: 1582
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          354
      EdgeCount:       67
      CyclomaticComplexity: 16
      functionsReached:
        - __assert_fail
        - cond_copy_expr
        - cond_node_destroy
        - copy_avrule_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1536,20'
          Dst:             cond_copy_expr
        - Src:             'link.c:1545,4'
          Dst:             __assert_fail
        - Src:             'link.c:1554,4'
          Dst:             __assert_fail
        - Src:             'link.c:1559,7'
          Dst:             copy_avrule_list
        - Src:             'link.c:1561,10'
          Dst:             copy_avrule_list
        - Src:             'link.c:1578,2'
          Dst:             cond_node_destroy
    - functionName:    copy_avrule_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1245
      functionLinenumberEnd: 1343
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          447
      EdgeCount:       84
      CyclomaticComplexity: 21
      functionsReached:
        - __assert_fail
        - avrule_destroy
        - avrule_init
        - calloc
        - class_perm_node_init
        - strdup
        - type_set_convert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1260,3'
          Dst:             avrule_init
        - Src:             'link.c:1264,7'
          Dst:             type_set_convert
        - Src:             'link.c:1266,10'
          Dst:             type_set_convert
        - Src:             'link.c:1277,4'
          Dst:             class_perm_node_init
        - Src:             'link.c:1281,4'
          Dst:             __assert_fail
        - Src:             'link.c:1304,5'
          Dst:             __assert_fail
        - Src:             'link.c:1312,23'
          Dst:             calloc
        - Src:             'link.c:1322,32'
          Dst:             strdup
        - Src:             'link.c:1340,2'
          Dst:             avrule_destroy
    - functionName:    copy_role_allow_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1394
      functionLinenumberEnd: 1431
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          187
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - role_allow_rule_init
        - role_allow_rule_list_destroy
        - role_set_or_convert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1409,3'
          Dst:             role_allow_rule_init
        - Src:             'link.c:1411,7'
          Dst:             role_set_or_convert
        - Src:             'link.c:1413,10'
          Dst:             role_set_or_convert
        - Src:             'link.c:1429,2'
          Dst:             role_allow_rule_list_destroy
    - functionName:    role_set_or_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1033
      functionLinenumberEnd: 1049
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          117
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - ebitmap_convert
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_union
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1036,2'
          Dst:             ebitmap_init
        - Src:             'link.c:1037,6'
          Dst:             ebitmap_convert
        - Src:             'link.c:1039,6'
          Dst:             ebitmap_union
        - Src:             'link.c:1043,2'
          Dst:             ebitmap_destroy
        - Src:             'link.c:1047,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    copy_role_trans_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1348
      functionLinenumberEnd: 1389
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          216
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - ebitmap_convert
        - role_set_or_convert
        - role_trans_rule_init
        - role_trans_rule_list_destroy
        - type_set_or_convert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1362,3'
          Dst:             role_trans_rule_init
        - Src:             'link.c:1364,7'
          Dst:             role_set_or_convert
        - Src:             'link.c:1366,10'
          Dst:             type_set_or_convert
        - Src:             'link.c:1371,7'
          Dst:             ebitmap_convert
        - Src:             'link.c:1387,2'
          Dst:             role_trans_rule_list_destroy
    - functionName:    copy_avrule_decl
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1683
      functionLinenumberEnd: 1724
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          168
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - copy_avrule_list
        - copy_cond_list
        - copy_filename_trans_list
        - copy_identifiers
        - copy_range_trans_list
        - copy_role_allow_list
        - copy_role_trans_list
        - copy_scope_index
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1687,6'
          Dst:             copy_avrule_list
        - Src:             'link.c:1689,9'
          Dst:             copy_role_trans_list
        - Src:             'link.c:1692,9'
          Dst:             copy_role_allow_list
        - Src:             'link.c:1695,9'
          Dst:             copy_cond_list
        - Src:             'link.c:1700,6'
          Dst:             copy_filename_trans_list
        - Src:             'link.c:1705,6'
          Dst:             copy_range_trans_list
        - Src:             'link.c:1710,8'
          Dst:             copy_identifiers
        - Src:             'link.c:1716,6'
          Dst:             copy_scope_index
        - Src:             'link.c:1718,6'
          Dst:             copy_scope_index
    - functionName:    copy_identifiers
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1588
      functionLinenumberEnd: 1628
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          185
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - alias_copy_callback
        - hashtab_map
        - role_bounds_copy_callback
        - type_bounds_copy_callback
        - user_bounds_copy_callback
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1595,8'
          Dst:             hashtab_map
        - Src:             'link.c:1603,6'
          Dst:             hashtab_map
        - Src:             'link.c:1603,6'
          Dst:             type_bounds_copy_callback
        - Src:             'link.c:1607,6'
          Dst:             hashtab_map
        - Src:             'link.c:1607,6'
          Dst:             alias_copy_callback
        - Src:             'link.c:1611,6'
          Dst:             hashtab_map
        - Src:             'link.c:1611,6'
          Dst:             role_bounds_copy_callback
        - Src:             'link.c:1615,6'
          Dst:             hashtab_map
        - Src:             'link.c:1615,6'
          Dst:             user_bounds_copy_callback
        - Src:             'link.c:1622,7'
          Dst:             hashtab_map
    - functionName:    type_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 764
      functionLinenumberEnd: 795
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          228
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - hashtab_search
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:781,9'
          Dst:             hashtab_search
    - functionName:    alias_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 875
      functionLinenumberEnd: 975
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         85
      ICount:          645
      EdgeCount:       108
      CyclomaticComplexity: 25
      functionsReached:
        - __assert_fail
        - calloc
        - hashtab_insert
        - hashtab_search
        - strcmp
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:900,16'
          Dst:             hashtab_search
        - Src:             'link.c:907,7'
          Dst:             strcmp
        - Src:             'link.c:915,14'
          Dst:             hashtab_search
        - Src:             'link.c:921,25'
          Dst:             calloc
        - Src:             'link.c:929,17'
          Dst:             strdup
        - Src:             'link.c:932,7'
          Dst:             hashtab_insert
        - Src:             'link.c:945,4'
          Dst:             __assert_fail
        - Src:             'link.c:946,4'
          Dst:             __assert_fail
        - Src:             'link.c:948,4'
          Dst:             __assert_fail
    - functionName:    role_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 799
      functionLinenumberEnd: 830
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          228
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - hashtab_search
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:816,9'
          Dst:             hashtab_search
    - functionName:    user_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 834
      functionLinenumberEnd: 865
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          228
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - hashtab_search
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:851,9'
          Dst:             hashtab_search
    - functionName:    role_fix_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1102
      functionLinenumberEnd: 1150
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          281
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - ebitmap_convert
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_union
        - hashtab_search
        - type_set_or_convert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1116,14'
          Dst:             hashtab_search
        - Src:             'link.c:1117,2'
          Dst:             __assert_fail
        - Src:             'link.c:1123,2'
          Dst:             ebitmap_init
        - Src:             'link.c:1124,6'
          Dst:             ebitmap_convert
        - Src:             'link.c:1126,6'
          Dst:             ebitmap_union
        - Src:             'link.c:1129,6'
          Dst:             type_set_or_convert
        - Src:             'link.c:1132,2'
          Dst:             ebitmap_destroy
        - Src:             'link.c:1135,3'
          Dst:             ebitmap_init
        - Src:             'link.c:1136,7'
          Dst:             ebitmap_convert
        - Src:             'link.c:1138,7'
          Dst:             ebitmap_union
        - Src:             'link.c:1141,3'
          Dst:             ebitmap_destroy
        - Src:             'link.c:1148,2'
          Dst:             ebitmap_destroy
    - functionName:    type_fix_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1154
      functionLinenumberEnd: 1194
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          251
      EdgeCount:       49
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - ebitmap_convert
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_union
        - hashtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1174,13'
          Dst:             hashtab_search
        - Src:             'link.c:1175,2'
          Dst:             __assert_fail
        - Src:             'link.c:1181,2'
          Dst:             ebitmap_init
        - Src:             'link.c:1182,6'
          Dst:             ebitmap_convert
        - Src:             'link.c:1184,6'
          Dst:             ebitmap_union
        - Src:             'link.c:1187,2'
          Dst:             ebitmap_destroy
        - Src:             'link.c:1192,2'
          Dst:             ebitmap_destroy
    - functionName:    user_fix_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1198
      functionLinenumberEnd: 1234
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          243
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - hashtab_search
        - mls_level_convert
        - mls_range_convert
        - role_set_or_convert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1212,13'
          Dst:             hashtab_search
        - Src:             'link.c:1213,2'
          Dst:             __assert_fail
        - Src:             'link.c:1219,6'
          Dst:             role_set_or_convert
        - Src:             'link.c:1223,6'
          Dst:             mls_range_convert
        - Src:             'link.c:1226,6'
          Dst:             mls_level_convert
    - functionName:    scope_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1791
      functionLinenumberEnd: 1876
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         71
      ICount:          467
      EdgeCount:       93
      CyclomaticComplexity: 24
      functionsReached:
        - add_i_to_a
        - calloc
        - hashtab_insert
        - hashtab_search
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1803,15'
          Dst:             hashtab_search
        - Src:             'link.c:1806,17'
          Dst:             strdup
        - Src:             'link.c:1811,26'
          Dst:             calloc
        - Src:             'link.c:1815,9'
          Dst:             hashtab_insert
        - Src:             'link.c:1834,8'
          Dst:             add_i_to_a
        - Src:             'link.c:1846,8'
          Dst:             add_i_to_a
        - Src:             'link.c:1864,8'
          Dst:             add_i_to_a
    - functionName:    copy_avrule_block
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1728
      functionLinenumberEnd: 1787
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          356
      EdgeCount:       60
      CyclomaticComplexity: 15
      functionsReached:
        - avrule_block_create
        - avrule_block_list_destroy
        - avrule_decl_create
        - avrule_decl_destroy
        - copy_avrule_decl
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1729,30'
          Dst:             avrule_block_create
        - Src:             'link.c:1743,7'
          Dst:             avrule_decl_create
        - Src:             'link.c:1751,28'
          Dst:             strdup
        - Src:             'link.c:1754,5'
          Dst:             avrule_decl_destroy
        - Src:             'link.c:1772,9'
          Dst:             copy_avrule_decl
        - Src:             'link.c:1774,4'
          Dst:             avrule_decl_destroy
        - Src:             'link.c:1785,2'
          Dst:             avrule_block_list_destroy
    - functionName:    cond_normalize
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2243
      functionLinenumberEnd: 2257
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          83
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - cond_normalize_expr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:2250,9'
          Dst:             cond_normalize_expr
    - functionName:    policy_module_destroy
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          103
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    enable_avrules
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2156
      functionLinenumberEnd: 2235
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         77
      ICount:          453
      EdgeCount:       99
      CyclomaticComplexity: 24
      functionsReached:
        - debug_requirements
        - is_decl_requires_met
        - print_missing_requirements
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:2195,9'
          Dst:             is_decl_requires_met
        - Src:             'link.c:2204,6'
          Dst:             print_missing_requirements
        - Src:             'link.c:2233,3'
          Dst:             debug_requirements
    - functionName:    copy_module
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1882
      functionLinenumberEnd: 1913
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          126
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - copy_avrule_block
        - copy_identifiers
        - hashtab_map
        - scope_copy_callback
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1889,8'
          Dst:             copy_identifiers
        - Src:             'link.c:1896,9'
          Dst:             copy_avrule_block
        - Src:             'link.c:1905,7'
          Dst:             hashtab_map
        - Src:             'link.c:1905,7'
          Dst:             scope_copy_callback
    - functionName:    prepare_base
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2317
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         53
      ICount:          373
      EdgeCount:       67
      CyclomaticComplexity: 16
      functionsReached:
        - __assert_fail
        - calloc
        - cond_normalize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:2319,2'
          Dst:             __assert_fail
        - Src:             'link.c:2341,7'
          Dst:             calloc
        - Src:             'link.c:2347,28'
          Dst:             calloc
        - Src:             'link.c:2366,6'
          Dst:             cond_normalize
    - functionName:    prepare_module
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2261
      functionLinenumberEnd: 2314
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         69
      ICount:          444
      EdgeCount:       88
      CyclomaticComplexity: 21
      functionsReached:
        - calloc
        - cond_normalize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:2270,21'
          Dst:             calloc
        - Src:             'link.c:2280,7'
          Dst:             calloc
        - Src:             'link.c:2285,7'
          Dst:             calloc
        - Src:             'link.c:2300,28'
          Dst:             calloc
        - Src:             'link.c:2307,6'
          Dst:             cond_normalize
    - functionName:    link_modules
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2381
      functionLinenumberEnd: 2479
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         120
      ICount:          780
      EdgeCount:       155
      CyclomaticComplexity: 37
      functionsReached:
        - calloc
        - copy_module
        - enable_avrules
        - policy_module_destroy
        - policydb_index_classes
        - policydb_index_others
        - prepare_base
        - prepare_module
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:2401,28'
          Dst:             calloc
        - Src:             'link.c:2429,28'
          Dst:             calloc
        - Src:             'link.c:2436,7'
          Dst:             prepare_module
        - Src:             'link.c:2441,6'
          Dst:             prepare_base
        - Src:             'link.c:2448,9'
          Dst:             copy_module
        - Src:             'link.c:2456,6'
          Dst:             policydb_index_classes
        - Src:             'link.c:2460,6'
          Dst:             policydb_index_others
        - Src:             'link.c:2465,6'
          Dst:             enable_avrules
        - Src:             'link.c:2474,3'
          Dst:             policy_module_destroy
    - functionName:    mls_range_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:142,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:143,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_range_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:42,2'
          Dst:             mls_range_init
    - functionName:    mls_range_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:148,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:149,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - mls_level_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:98,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:99,2'
          Dst:             mls_level_init
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_init
        - mls_range_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:112,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:113,2'
          Dst:             mls_context_init
    - functionName:    mls_range_glblub
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          176
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - ebitmap_and
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:65,6'
          Dst:             ebitmap_and
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:69,6'
          Dst:             ebitmap_and
    - functionName:    mls_range_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - mls_level_cpy
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:125,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:128,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:134,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cpy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:81,6'
          Dst:             ebitmap_cpy
    - functionName:    mls_semantic_range_cpy
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 805
      functionLinenumberEnd: 815
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - mls_semantic_level_cpy
        - mls_semantic_level_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:806,6'
          Dst:             mls_semantic_level_cpy
        - Src:             'mls.c:809,6'
          Dst:             mls_semantic_level_cpy
        - Src:             'mls.c:810,3'
          Dst:             mls_semantic_level_destroy
    - functionName:    mls_semantic_level_cpy
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 789
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          95
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - mls_semantic_cat_init
        - mls_semantic_level_destroy
        - mls_semantic_level_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:763,2'
          Dst:             mls_semantic_level_init
        - Src:             'mls.c:772,3'
          Dst:             mls_semantic_cat_init
        - Src:             'mls.c:787,2'
          Dst:             mls_semantic_level_destroy
    - functionName:    mls_semantic_level_destroy
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 742
      functionLinenumberEnd: 755
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - mls_semantic_cat_destroy
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:752,3'
          Dst:             mls_semantic_cat_destroy
    - functionName:    mls_semantic_cat_destroy
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 731
      functionLinenumberEnd: 733
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_semantic_level_init
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 739
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_semantic_cat_init
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 726
      functionLinenumberEnd: 728
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_semantic_range_destroy
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 798
      functionLinenumberEnd: 801
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_semantic_level_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:799,2'
          Dst:             mls_semantic_level_destroy
        - Src:             'mls.c:800,2'
          Dst:             mls_semantic_level_destroy
    - functionName:    mls_semantic_range_init
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 792
      functionLinenumberEnd: 795
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_semantic_level_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:793,2'
          Dst:             mls_semantic_level_init
        - Src:             'mls.c:794,2'
          Dst:             mls_semantic_level_init
    - functionName:    sepol_mls_check
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 708
      functionLinenumberEnd: 723
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          99
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - context_destroy
        - context_init
        - mls_from_string
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:717,2'
          Dst:             context_init
        - Src:             'mls.c:719,8'
          Dst:             mls_from_string
        - Src:             'mls.c:720,2'
          Dst:             context_destroy
    - functionName:    context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_from_string
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          205
      EdgeCount:       42
      CyclomaticComplexity: 10
      functionsReached:
        - mls_context_to_sid
        - strdup
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:83,14'
          Dst:             strdup
        - Src:             'mls.c:88,6'
          Dst:             mls_context_to_sid
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_destroy
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:135,2'
          Dst:             mls_context_destroy
    - functionName:    mls_context_to_sid
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 331
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          471
      EdgeCount:       110
      CyclomaticComplexity: 30
      functionsReached:
        - ebitmap_set_bit
        - hashtab_search
        - mls_level_cpy
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:357,25'
          Dst:             hashtab_search
        - Src:             'mls.c:376,19'
          Dst:             strchr
        - Src:             'mls.c:382,25'
          Dst:             hashtab_search
        - Src:             'mls.c:389,9'
          Dst:             ebitmap_set_bit
        - Src:             'mls.c:399,10'
          Dst:             hashtab_search
        - Src:             'mls.c:412,11'
          Dst:             ebitmap_set_bit
        - Src:             'mls.c:438,7'
          Dst:             mls_level_cpy
    - functionName:    sepol_mls_contains
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 670
      functionLinenumberEnd: 704
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          236
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - context_destroy
        - context_init
        - mls_from_string
        - mls_level_dom
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:679,2'
          Dst:             context_init
        - Src:             'mls.c:680,2'
          Dst:             context_init
        - Src:             'mls.c:682,6'
          Dst:             mls_from_string
        - Src:             'mls.c:685,6'
          Dst:             mls_from_string
        - Src:             'mls.c:688,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:688,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:689,2'
          Dst:             context_destroy
        - Src:             'mls.c:690,2'
          Dst:             context_destroy
        - Src:             'mls.c:696,2'
          Dst:             context_destroy
        - Src:             'mls.c:697,2'
          Dst:             context_destroy
    - functionName:    mls_level_dom
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_contains
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:109,36'
          Dst:             ebitmap_contains
    - functionName:    mls_scopy_context
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 487
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:481,8'
          Dst:             ebitmap_cpy
    - functionName:    mls_copy_context
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 455
      functionLinenumberEnd: 467
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          77
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:461,8'
          Dst:             ebitmap_cpy
    - functionName:    mls_context_glblub
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_range_glblub
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:97,9'
          Dst:             mls_range_glblub
    - functionName:    mls_context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_range_cpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:49,6'
          Dst:             mls_range_cpy
    - functionName:    mls_context_cpy_high
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          92
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_cpy
        - ebitmap_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:83,7'
          Dst:             ebitmap_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:88,7'
          Dst:             ebitmap_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:90,3'
          Dst:             ebitmap_destroy
    - functionName:    mls_context_cpy_low
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          92
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_cpy
        - ebitmap_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:63,7'
          Dst:             ebitmap_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:68,7'
          Dst:             ebitmap_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:70,3'
          Dst:             ebitmap_destroy
    - functionName:    mls_range_set
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:500,8'
          Dst:             ebitmap_cpy
    - functionName:    mls_compute_sid
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 608
      functionLinenumberEnd: 665
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          232
      EdgeCount:       35
      CyclomaticComplexity: 6
      functionsReached:
        - hashtab_search
        - mls_context_cpy
        - mls_context_cpy_high
        - mls_context_cpy_low
        - mls_context_glblub
        - mls_copy_context
        - mls_range_set
        - mls_scopy_context
      functionUses:    1
      BranchProfiles:
        - Branch String:   'mls.c:617,2'
          Branch Sides:    []
        - Branch String:   'mls.c:633,3'
          Branch Sides:    []
      Callsites:
        - Src:             'mls.c:623,7'
          Dst:             hashtab_search
        - Src:             'mls.c:625,11'
          Dst:             mls_range_set
        - Src:             'mls.c:635,11'
          Dst:             mls_context_cpy_low
        - Src:             'mls.c:637,11'
          Dst:             mls_context_cpy_high
        - Src:             'mls.c:639,11'
          Dst:             mls_context_cpy
        - Src:             'mls.c:641,11'
          Dst:             mls_context_cpy_low
        - Src:             'mls.c:643,11'
          Dst:             mls_context_cpy_high
        - Src:             'mls.c:645,11'
          Dst:             mls_context_cpy
        - Src:             'mls.c:647,11'
          Dst:             mls_context_glblub
        - Src:             'mls.c:654,11'
          Dst:             mls_copy_context
        - Src:             'mls.c:657,11'
          Dst:             mls_scopy_context
        - Src:             'mls.c:660,10'
          Dst:             mls_context_cpy_low
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_convert_context
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          222
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - ebitmap_destroy
        - ebitmap_init
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
        - hashtab_search
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:566,25'
          Dst:             hashtab_search
        - Src:             'mls.c:579,3'
          Dst:             ebitmap_init
        - Src:             'mls.c:580,3'
          Dst:             ebitmap_start
        - Src:             'mls.c:580,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'mls.c:584,24'
          Dst:             hashtab_search
        - Src:             'mls.c:591,9'
          Dst:             ebitmap_set_bit
        - Src:             'mls.c:580,3'
          Dst:             ebitmap_next
        - Src:             'mls.c:596,3'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_setup_user_range
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          189
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - mls_level_dom
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:522,7'
          Dst:             mls_level_dom
        - Src:             'mls.c:522,7'
          Dst:             mls_level_dom
        - Src:             'mls.c:524,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:524,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:526,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:526,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:536,7'
          Dst:             mls_level_dom
        - Src:             'mls.c:538,14'
          Dst:             mls_level_dom
    - functionName:    mls_context_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 317
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         49
      ICount:          331
      EdgeCount:       67
      CyclomaticComplexity: 20
      functionsReached:
        - ebitmap_get_bit
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - hashtab_search
        - mls_level_dom
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:275,7'
          Dst:             mls_level_dom
        - Src:             'mls.c:288,32'
          Dst:             hashtab_search
        - Src:             'mls.c:292,3'
          Dst:             ebitmap_start
        - Src:             'mls.c:292,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'mls.c:295,9'
          Dst:             ebitmap_get_bit
        - Src:             'mls.c:292,3'
          Dst:             ebitmap_next
        - Src:             'mls.c:313,20'
          Dst:             mls_level_dom
        - Src:             'mls.c:313,20'
          Dst:             mls_level_dom
    - functionName:    mls_level_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:104,36'
          Dst:             ebitmap_cmp
    - functionName:    mls_sid_to_context
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          357
      EdgeCount:       57
      CyclomaticComplexity: 15
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - mls_level_eq
        - strcpy
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:186,3'
          Dst:             strcpy
        - Src:             'mls.c:190,7'
          Dst:             strlen
        - Src:             'mls.c:194,3'
          Dst:             ebitmap_start
        - Src:             'mls.c:195,8'
          Dst:             ebitmap_node_get_bit
        - Src:             'mls.c:206,5'
          Dst:             strcpy
        - Src:             'mls.c:209,9'
          Dst:             strlen
        - Src:             'mls.c:218,6'
          Dst:             strcpy
        - Src:             'mls.c:222,10'
          Dst:             strlen
        - Src:             'mls.c:194,3'
          Dst:             ebitmap_next
        - Src:             'mls.c:235,4'
          Dst:             strcpy
        - Src:             'mls.c:236,17'
          Dst:             strlen
        - Src:             'mls.c:240,8'
          Dst:             mls_level_eq
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_compute_context_len
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          255
      EdgeCount:       45
      CyclomaticComplexity: 12
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - mls_level_eq
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:123,7'
          Dst:             strlen
        - Src:             'mls.c:127,3'
          Dst:             ebitmap_start
        - Src:             'mls.c:128,8'
          Dst:             ebitmap_node_get_bit
        - Src:             'mls.c:135,9'
          Dst:             strlen
        - Src:             'mls.c:140,10'
          Dst:             strlen
        - Src:             'mls.c:127,3'
          Dst:             ebitmap_next
        - Src:             'mls.c:148,11'
          Dst:             strlen
        - Src:             'mls.c:151,8'
          Dst:             mls_level_eq
    - functionName:    mls_to_string
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          135
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - mls_compute_context_len
        - mls_sid_to_context
        - strcpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:50,12'
          Dst:             mls_compute_context_len
        - Src:             'mls.c:61,2'
          Dst:             mls_sid_to_context
        - Src:             'mls.c:63,2'
          Dst:             strcpy
    - functionName:    context_string_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3113
      functionLinenumberEnd: 3148
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          118
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - cil_printf
        - level_range_string_to_cil
        - tokenize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3121,12'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3128,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3131,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3132,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3133,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3135,3'
          Dst:             level_range_string_to_cil
        - Src:             'module_to_cil.c:3138,2'
          Dst:             cil_printf
    - functionName:    cil_printf
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - _exit
        - vfprintf
      functionUses:    134
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:87,6'
          Dst:             vfprintf
        - Src:             'module_to_cil.c:89,3'
          Dst:             _exit
    - functionName:    level_range_string_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3091
      functionLinenumberEnd: 3109
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cil_printf
        - level_string_to_cil
        - strchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3096,11'
          Dst:             strchr
        - Src:             'module_to_cil.c:3105,2'
          Dst:             level_string_to_cil
        - Src:             'module_to_cil.c:3106,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3107,2'
          Dst:             level_string_to_cil
    - functionName:    level_string_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3047
      functionLinenumberEnd: 3087
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          143
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - cil_printf
        - strchr
        - strtok_r
        - tokenize
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3056,12'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3063,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3066,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3067,11'
          Dst:             strtok_r
        - Src:             'module_to_cil.c:3069,13'
          Dst:             strchr
        - Src:             'module_to_cil.c:3071,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3074,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3076,12'
          Dst:             strtok_r
        - Src:             'module_to_cil.c:3078,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3081,2'
          Dst:             cil_printf
    - functionName:    strtok_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      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:    _exit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_line
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          203
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - __ctype_b_loc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:119,30'
          Dst:             __ctype_b_loc
    - functionName:    __ctype_b_loc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_scope_superset
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3628
      functionLinenumberEnd: 3671
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          119
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_and
        - ebitmap_cmp
        - ebitmap_destroy
        - ebitmap_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3638,2'
          Dst:             ebitmap_init
        - Src:             'module_to_cil.c:3644,3'
          Dst:             ebitmap_and
        - Src:             'module_to_cil.c:3645,8'
          Dst:             ebitmap_cmp
        - Src:             'module_to_cil.c:3648,3'
          Dst:             ebitmap_destroy
        - Src:             'module_to_cil.c:3659,3'
          Dst:             ebitmap_and
        - Src:             'module_to_cil.c:3660,8'
          Dst:             ebitmap_cmp
        - Src:             'module_to_cil.c:3663,3'
          Dst:             ebitmap_destroy
        - Src:             'module_to_cil.c:3670,2'
          Dst:             ebitmap_destroy
    - functionName:    module_block_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3759
      functionLinenumberEnd: 3797
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          169
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - block_to_cil
        - cil_println
        - is_scope_superset
        - stack_peek
        - stack_pop
        - stack_push
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3775,15'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:3776,8'
          Dst:             is_scope_superset
        - Src:             'module_to_cil.c:3780,4'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:3782,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3785,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3789,2'
          Dst:             stack_push
        - Src:             'module_to_cil.c:3791,7'
          Dst:             block_to_cil
    - functionName:    stack_peek
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    stack_pop
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          39
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cil_println
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          119
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - _exit
        - cil_indent
        - fprintf
        - vfprintf
      functionUses:    62
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:98,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:100,6'
          Dst:             vfprintf
        - Src:             'module_to_cil.c:102,3'
          Dst:             _exit
        - Src:             'module_to_cil.c:105,6'
          Dst:             fprintf
        - Src:             'module_to_cil.c:107,3'
          Dst:             _exit
    - functionName:    stack_push
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          80
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - reallocarray
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:445,15'
          Dst:             reallocarray
    - functionName:    block_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3675
      functionLinenumberEnd: 3755
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          236
      EdgeCount:       46
      CyclomaticComplexity: 16
      functionsReached:
        - additive_scopes_to_cil
        - attr_list_destroy
        - avrule_list_to_cil
        - cil_print_attr_list
        - cond_list_to_cil
        - declared_scopes_to_cil
        - filename_trans_to_cil
        - list_init
        - range_trans_to_cil
        - required_scopes_to_cil
        - role_allows_to_cil
        - role_trans_to_cil
        - typealiases_to_cil
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3683,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:3687,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:3692,7'
          Dst:             typealiases_to_cil
        - Src:             'module_to_cil.c:3697,7'
          Dst:             declared_scopes_to_cil
        - Src:             'module_to_cil.c:3702,7'
          Dst:             required_scopes_to_cil
        - Src:             'module_to_cil.c:3707,7'
          Dst:             additive_scopes_to_cil
        - Src:             'module_to_cil.c:3712,7'
          Dst:             avrule_list_to_cil
        - Src:             'module_to_cil.c:3717,7'
          Dst:             role_trans_to_cil
        - Src:             'module_to_cil.c:3722,7'
          Dst:             role_allows_to_cil
        - Src:             'module_to_cil.c:3727,7'
          Dst:             range_trans_to_cil
        - Src:             'module_to_cil.c:3732,7'
          Dst:             filename_trans_to_cil
        - Src:             'module_to_cil.c:3737,7'
          Dst:             cond_list_to_cil
        - Src:             'module_to_cil.c:3742,7'
          Dst:             cil_print_attr_list
        - Src:             'module_to_cil.c:3746,7'
          Dst:             cil_print_attr_list
        - Src:             'module_to_cil.c:3752,2'
          Dst:             attr_list_destroy
        - Src:             'module_to_cil.c:3753,2'
          Dst:             attr_list_destroy
    - functionName:    list_init
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:250,19'
          Dst:             calloc
    - functionName:    typealiases_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3421
      functionLinenumberEnd: 3459
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          147
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - cil_println
        - hashtab_search
        - stack_peek
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3426,29'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:3441,17'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3451,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3452,3'
          Dst:             cil_println
    - functionName:    declared_scopes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3462
      functionLinenumberEnd: 3522
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          270
      EdgeCount:       56
      CyclomaticComplexity: 16
      functionsReached:
        - cat_order_to_cil
        - class_order_to_cil
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - hashtab_search
        - sens_order_to_cil
        - stack_peek
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3471,29'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:3479,3'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:3479,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:3481,12'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3486,12'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3479,3'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:3498,9'
          Dst:             cat_order_to_cil
        - Src:             'module_to_cil.c:3505,9'
          Dst:             sens_order_to_cil
        - Src:             'module_to_cil.c:3512,9'
          Dst:             class_order_to_cil
    - functionName:    required_scopes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3525
      functionLinenumberEnd: 3582
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          233
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - hashtab_search
        - stack_peek
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3534,29'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:3543,3'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:3543,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:3546,18'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3567,12'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3543,3'
          Dst:             ebitmap_next
    - functionName:    additive_scopes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3602
      functionLinenumberEnd: 3625
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          94
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - additive_scopes_to_cil_map
        - hashtab_map
        - stack_peek
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3604,29'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:3615,8'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:3615,8'
          Dst:             additive_scopes_to_cil_map
    - functionName:    avrule_list_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1193
      functionLinenumberEnd: 1281
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          520
      EdgeCount:       96
      CyclomaticComplexity: 25
      functionsReached:
        - avrule_to_cil
        - avrulex_to_cil
        - cil_println
        - names_destroy
        - process_typeset
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1203,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1207,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1227,9'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1236,11'
          Dst:             avrulex_to_cil
        - Src:             'module_to_cil.c:1238,11'
          Dst:             avrule_to_cil
        - Src:             'module_to_cil.c:1247,11'
          Dst:             avrulex_to_cil
        - Src:             'module_to_cil.c:1249,11'
          Dst:             avrule_to_cil
        - Src:             'module_to_cil.c:1256,11'
          Dst:             avrulex_to_cil
        - Src:             'module_to_cil.c:1258,11'
          Dst:             avrule_to_cil
        - Src:             'module_to_cil.c:1266,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1267,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1270,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1277,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1278,2'
          Dst:             names_destroy
    - functionName:    role_trans_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1461
      functionLinenumberEnd: 1507
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          205
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - cil_println
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - names_destroy
        - process_roleset
        - process_typeset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1477,8'
          Dst:             process_roleset
        - Src:             'module_to_cil.c:1483,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1490,5'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:1490,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:1491,6'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1490,5'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:1499,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1500,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1504,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1505,2'
          Dst:             names_destroy
    - functionName:    role_allows_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1511
      functionLinenumberEnd: 1550
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          132
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - cil_println
        - names_destroy
        - process_roleset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1523,8'
          Dst:             process_roleset
        - Src:             'module_to_cil.c:1529,8'
          Dst:             process_roleset
        - Src:             'module_to_cil.c:1536,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1540,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1541,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1547,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1548,2'
          Dst:             names_destroy
    - functionName:    range_trans_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1554
      functionLinenumberEnd: 1621
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          241
      EdgeCount:       48
      CyclomaticComplexity: 13
      functionsReached:
        - cil_indent
        - cil_printf
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - names_destroy
        - process_typeset
        - semantic_level_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1573,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1579,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1586,5'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:1586,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:1587,6'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:1588,6'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1590,6'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1592,11'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:1597,6'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1599,11'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:1604,6'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1586,5'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:1610,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1611,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1617,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1618,2'
          Dst:             names_destroy
    - functionName:    filename_trans_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1624
      functionLinenumberEnd: 1674
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          204
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - cil_println
        - names_destroy
        - process_typeset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1637,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1643,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1650,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1657,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1665,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1666,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1671,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1672,2'
          Dst:             names_destroy
    - functionName:    cond_list_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1424
      functionLinenumberEnd: 1457
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          134
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - avrule_list_to_cil
        - cil_println
        - cond_expr_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1430,8'
          Dst:             cond_expr_to_cil
        - Src:             'module_to_cil.c:1436,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1437,9'
          Dst:             avrule_list_to_cil
        - Src:             'module_to_cil.c:1441,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1445,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1446,9'
          Dst:             avrule_list_to_cil
        - Src:             'module_to_cil.c:1450,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1453,3'
          Dst:             cil_println
    - functionName:    cil_print_attr_list
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 906
      functionLinenumberEnd: 920
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - cil_print_attr_strs
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:913,8'
          Dst:             cil_print_attr_strs
    - functionName:    attr_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - list_destroy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:245,2'
          Dst:             list_destroy
    - functionName:    list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cil_print_attr_strs
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 819
      functionLinenumberEnd: 902
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         60
      ICount:          361
      EdgeCount:       79
      CyclomaticComplexity: 21
      functionsReached:
        - cil_indent
        - cil_printf
        - cil_println
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:858,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:859,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:860,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:863,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:867,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:871,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:875,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:876,3'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:876,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:877,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:876,3'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:879,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:883,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:885,3'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:885,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:886,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:885,3'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:889,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:893,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:897,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:900,2'
          Dst:             cil_printf
    - functionName:    cil_indent
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - _exit
        - fprintf
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:77,6'
          Dst:             fprintf
        - Src:             'module_to_cil.c:79,3'
          Dst:             _exit
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cond_expr_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1284
      functionLinenumberEnd: 1420
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         106
      ICount:          718
      EdgeCount:       133
      CyclomaticComplexity: 29
      functionsReached:
        - cil_println
        - snprintf
        - stack_destroy
        - stack_init
        - stack_peek
        - stack_pop
        - stack_push
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'module_to_cil.c:1322,4'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:1298,7'
          Dst:             stack_init
        - Src:             'module_to_cil.c:1308,10'
          Dst:             strlen
        - Src:             'module_to_cil.c:1315,11'
          Dst:             snprintf
        - Src:             'module_to_cil.c:1337,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1338,12'
          Dst:             strdup
        - Src:             'module_to_cil.c:1346,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1347,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1362,10'
          Dst:             strlen
        - Src:             'module_to_cil.c:1362,25'
          Dst:             strlen
        - Src:             'module_to_cil.c:1362,40'
          Dst:             strlen
        - Src:             'module_to_cil.c:1370,11'
          Dst:             snprintf
        - Src:             'module_to_cil.c:1383,8'
          Dst:             stack_push
        - Src:             'module_to_cil.c:1397,9'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1398,22'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:1404,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1415,18'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1418,3'
          Dst:             stack_destroy
    - functionName:    stack_init
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - stack_destroy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:417,20'
          Dst:             calloc
        - Src:             'module_to_cil.c:422,13'
          Dst:             calloc
        - Src:             'module_to_cil.c:435,2'
          Dst:             stack_destroy
    - functionName:    stack_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    process_typeset
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1066
      functionLinenumberEnd: 1085
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          90
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - ebitmap_to_names
        - set_to_names
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1073,8'
          Dst:             set_to_names
        - Src:             'module_to_cil.c:1078,8'
          Dst:             ebitmap_to_names
    - functionName:    names_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1089
      functionLinenumberEnd: 1093
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_to_names
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 962
      functionLinenumberEnd: 995
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          135
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - cil_add_attr_to_list
        - get_new_attr_name
        - search_attr_list
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:969,14'
          Dst:             search_attr_list
        - Src:             'module_to_cil.c:972,15'
          Dst:             get_new_attr_name
        - Src:             'module_to_cil.c:978,8'
          Dst:             cil_add_attr_to_list
    - functionName:    ebitmap_to_names
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 999
      functionLinenumberEnd: 1039
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          254
      EdgeCount:       51
      CyclomaticComplexity: 13
      functionsReached:
        - calloc
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1007,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:1007,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:1007,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:1022,13'
          Dst:             calloc
        - Src:             'module_to_cil.c:1030,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:1030,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:1030,2'
          Dst:             ebitmap_next
    - functionName:    search_attr_list
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 959
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          165
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - ebitmap_cmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:943,8'
          Dst:             ebitmap_cmp
        - Src:             'module_to_cil.c:945,8'
          Dst:             ebitmap_cmp
        - Src:             'module_to_cil.c:952,8'
          Dst:             ebitmap_cmp
    - functionName:    get_new_attr_name
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 757
      functionLinenumberEnd: 787
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          173
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - num_digits
        - snprintf
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:771,8'
          Dst:             strlen
        - Src:             'module_to_cil.c:771,28'
          Dst:             strlen
        - Src:             'module_to_cil.c:771,44'
          Dst:             num_digits
        - Src:             'module_to_cil.c:778,9'
          Dst:             snprintf
    - functionName:    cil_add_attr_to_list
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 791
      functionLinenumberEnd: 816
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          106
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - list_prepend
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:795,19'
          Dst:             calloc
        - Src:             'module_to_cil.c:802,7'
          Dst:             list_prepend
    - functionName:    list_prepend
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:262,27'
          Dst:             calloc
    - functionName:    num_digits
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 740
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    semantic_level_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 551
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          155
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - cil_printf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:526,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:529,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:534,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:536,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:540,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:545,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:548,2'
          Dst:             cil_printf
    - functionName:    process_roleset
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1043
      functionLinenumberEnd: 1062
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ebitmap_to_names
        - set_to_names
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1050,8'
          Dst:             set_to_names
        - Src:             'module_to_cil.c:1055,8'
          Dst:             ebitmap_to_names
    - functionName:    avrulex_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 685
      functionLinenumberEnd: 731
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          224
      EdgeCount:       39
      CyclomaticComplexity: 7
      functionsReached:
        - cil_indent
        - cil_printf
        - xperms_to_cil
      functionUses:    3
      BranchProfiles:
        - Branch String:   'module_to_cil.c:691,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:720,3'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:721,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:723,3'
          Dst:             xperms_to_cil
        - Src:             'module_to_cil.c:724,3'
          Dst:             cil_printf
    - functionName:    avrule_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 622
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          302
      EdgeCount:       47
      CyclomaticComplexity: 8
      functionsReached:
        - cil_println
        - sepol_av_to_string
      functionUses:    3
      BranchProfiles:
        - Branch String:   'module_to_cil.c:560,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:593,12'
          Dst:             sepol_av_to_string
        - Src:             'module_to_cil.c:605,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:611,4'
          Dst:             cil_println
    - functionName:    xperms_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 627
      functionLinenumberEnd: 682
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          305
      EdgeCount:       64
      CyclomaticComplexity: 18
      functionsReached:
        - cil_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:655,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:664,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:667,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:673,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:676,5'
          Dst:             cil_printf
    - functionName:    additive_scopes_to_cil_map
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3586
      functionLinenumberEnd: 3599
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          64
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    class_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2019
      functionLinenumberEnd: 2126
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         81
      ICount:          535
      EdgeCount:       94
      CyclomaticComplexity: 15
      functionsReached:
        - calloc
        - cil_indent
        - cil_printf
        - cil_println
        - class_perm_cmp
        - class_perm_to_array
        - constraints_to_cil
        - hashtab_map
        - qsort
      functionUses:    0
      BranchProfiles:
        - Branch String:   'module_to_cil.c:2054,3'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:2066,3'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:2078,3'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:2090,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:2031,14'
          Dst:             calloc
        - Src:             'module_to_cil.c:2035,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:2035,7'
          Dst:             class_perm_to_array
        - Src:             'module_to_cil.c:2040,2'
          Dst:             qsort
        - Src:             'module_to_cil.c:2040,2'
          Dst:             class_perm_cmp
        - Src:             'module_to_cil.c:2042,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2043,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2045,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2047,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2050,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2062,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2074,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2086,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2103,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2108,8'
          Dst:             constraints_to_cil
        - Src:             'module_to_cil.c:2115,8'
          Dst:             constraints_to_cil
    - functionName:    role_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2150
      functionLinenumberEnd: 2246
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          442
      EdgeCount:       86
      CyclomaticComplexity: 20
      functionsReached:
        - attr_list_destroy
        - cil_indent
        - cil_print_attr_list
        - cil_printf
        - cil_println
        - ebitmap_cardinality
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - is_id_in_scope
        - list_init
        - names_destroy
        - process_typeset
      functionUses:    0
      BranchProfiles:
        - Branch String:   'module_to_cil.c:2175,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:2161,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:2172,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2178,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2181,7'
          Dst:             ebitmap_cardinality
        - Src:             'module_to_cil.c:2186,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:2192,8'
          Dst:             is_id_in_scope
        - Src:             'module_to_cil.c:2193,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2198,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2204,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2208,4'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2209,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2210,4'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2210,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2211,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2210,4'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2213,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2217,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:2224,8'
          Dst:             is_id_in_scope
        - Src:             'module_to_cil.c:2225,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2237,7'
          Dst:             cil_print_attr_list
        - Src:             'module_to_cil.c:2243,2'
          Dst:             attr_list_destroy
        - Src:             'module_to_cil.c:2244,2'
          Dst:             names_destroy
    - functionName:    type_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2250
      functionLinenumberEnd: 2323
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          285
      EdgeCount:       57
      CyclomaticComplexity: 13
      functionsReached:
        - cil_indent
        - cil_printf
        - cil_println
        - ebitmap_to_cil
        - roletype_role_in_ancestor_to_cil
      functionUses:    0
      BranchProfiles:
        - Branch String:   'module_to_cil.c:2268,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:2260,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2263,7'
          Dst:             roletype_role_in_ancestor_to_cil
        - Src:             'module_to_cil.c:2271,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2274,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2278,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2282,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2286,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2291,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2295,4'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2296,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2298,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2300,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2302,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2306,4'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2307,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2308,4'
          Dst:             ebitmap_to_cil
        - Src:             'module_to_cil.c:2309,4'
          Dst:             cil_printf
    - functionName:    user_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2327
      functionLinenumberEnd: 2376
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          171
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - cil_indent
        - cil_printf
        - cil_println
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - semantic_level_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2341,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2345,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2348,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2350,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2350,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2351,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2350,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2354,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2355,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2357,3'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:2359,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2361,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2363,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2364,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2366,3'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:2367,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2368,3'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:2370,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2372,2'
          Dst:             cil_printf
    - functionName:    boolean_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2379
      functionLinenumberEnd: 2393
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          66
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cil_println
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2390,3'
          Dst:             cil_println
    - functionName:    sens_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2397
      functionLinenumberEnd: 2416
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          100
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - cil_indent
        - cil_printf
        - cil_println
        - ebitmap_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2402,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2404,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2405,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2410,3'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2411,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2412,3'
          Dst:             ebitmap_to_cil
        - Src:             'module_to_cil.c:2413,3'
          Dst:             cil_printf
    - functionName:    cat_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2441
      functionLinenumberEnd: 2456
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          76
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cil_println
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2449,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2451,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2452,3'
          Dst:             cil_println
    - functionName:    ebitmap_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 744
      functionLinenumberEnd: 753
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          83
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - cil_printf
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:749,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:749,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:750,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:749,2'
          Dst:             ebitmap_next
    - functionName:    roletype_role_in_ancestor_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1096
      functionLinenumberEnd: 1136
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          151
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - attr_list_destroy
        - cil_print_attr_list
        - cil_println
        - is_id_in_ancestor_scope
        - list_init
        - names_destroy
        - process_typeset
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1105,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:1112,8'
          Dst:             is_id_in_ancestor_scope
        - Src:             'module_to_cil.c:1117,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1122,9'
          Dst:             strcmp
        - Src:             'module_to_cil.c:1123,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1126,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1129,7'
          Dst:             cil_print_attr_list
        - Src:             'module_to_cil.c:1135,2'
          Dst:             attr_list_destroy
    - functionName:    is_id_in_ancestor_scope
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 506
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - is_id_in_scope_with_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:509,9'
          Dst:             is_id_in_scope_with_start
    - functionName:    is_id_in_scope_with_start
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 503
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          108
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - hashtab_search
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:487,10'
          Dst:             hashtab_search
    - functionName:    is_id_in_scope
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - is_id_in_scope_with_start
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:516,9'
          Dst:             is_id_in_scope_with_start
    - functionName:    class_perm_to_array
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1688
      functionLinenumberEnd: 1695
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          46
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    class_perm_cmp
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1699
      functionLinenumberEnd: 1703
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    constraints_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1972
      functionLinenumberEnd: 2015
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          208
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - cil_println
        - constraint_expr_to_string
        - sepol_av_to_string
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1983,8'
          Dst:             constraint_expr_to_string
        - Src:             'module_to_cil.c:1989,12'
          Dst:             sepol_av_to_string
        - Src:             'module_to_cil.c:2001,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2004,4'
          Dst:             cil_println
    - functionName:    constraint_expr_to_string
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1740
      functionLinenumberEnd: 1967
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         185
      ICount:          1225
      EdgeCount:       229
      CyclomaticComplexity: 46
      functionsReached:
        - ebitmap_to_names
        - name_list_to_string
        - names_destroy
        - snprintf
        - stack_destroy
        - stack_init
        - stack_peek
        - stack_pop
        - stack_push
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'module_to_cil.c:1766,4'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:1778,4'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:1873,4'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:1759,7'
          Dst:             stack_init
        - Src:             'module_to_cil.c:1802,11'
          Dst:             strlen
        - Src:             'module_to_cil.c:1802,24'
          Dst:             strlen
        - Src:             'module_to_cil.c:1802,40'
          Dst:             strlen
        - Src:             'module_to_cil.c:1809,12'
          Dst:             snprintf
        - Src:             'module_to_cil.c:1818,11'
          Dst:             ebitmap_to_names
        - Src:             'module_to_cil.c:1823,11'
          Dst:             ebitmap_to_names
        - Src:             'module_to_cil.c:1828,11'
          Dst:             ebitmap_to_names
        - Src:             'module_to_cil.c:1834,14'
          Dst:             strdup
        - Src:             'module_to_cil.c:1840,11'
          Dst:             name_list_to_string
        - Src:             'module_to_cil.c:1847,11'
          Dst:             strlen
        - Src:             'module_to_cil.c:1847,24'
          Dst:             strlen
        - Src:             'module_to_cil.c:1847,41'
          Dst:             strlen
        - Src:             'module_to_cil.c:1858,13'
          Dst:             snprintf
        - Src:             'module_to_cil.c:1860,13'
          Dst:             snprintf
        - Src:             'module_to_cil.c:1868,5'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1886,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1887,12'
          Dst:             strdup
        - Src:             'module_to_cil.c:1895,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1896,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1911,10'
          Dst:             strlen
        - Src:             'module_to_cil.c:1911,25'
          Dst:             strlen
        - Src:             'module_to_cil.c:1911,40'
          Dst:             strlen
        - Src:             'module_to_cil.c:1919,11'
          Dst:             snprintf
        - Src:             'module_to_cil.c:1932,8'
          Dst:             stack_push
        - Src:             'module_to_cil.c:1941,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1942,25'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:1954,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1961,18'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1964,3'
          Dst:             stack_destroy
    - functionName:    name_list_to_string
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1141
      functionLinenumberEnd: 1190
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          294
      EdgeCount:       55
      CyclomaticComplexity: 13
      functionsReached:
        - stpcpy
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1150,35'
          Dst:             strlen
        - Src:             'module_to_cil.c:1178,12'
          Dst:             stpcpy
    - functionName:    stpcpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cat_order_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2459
      functionLinenumberEnd: 2481
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          100
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - cil_indent
        - cil_printf
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2469,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2470,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2472,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2472,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2473,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2472,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2476,2'
          Dst:             cil_printf
    - functionName:    sens_order_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2420
      functionLinenumberEnd: 2438
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - cil_indent
        - cil_printf
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2428,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2429,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2431,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2431,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2432,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2431,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2435,2'
          Dst:             cil_printf
    - functionName:    class_order_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2129
      functionLinenumberEnd: 2147
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - cil_indent
        - cil_printf
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2137,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2138,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2140,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2140,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2141,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2140,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2144,2'
          Dst:             cil_printf
    - functionName:    common_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1707
      functionLinenumberEnd: 1735
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          98
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - cil_printf
        - class_perm_cmp
        - class_perm_to_array
        - hashtab_map
        - qsort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1714,14'
          Dst:             calloc
        - Src:             'module_to_cil.c:1718,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:1718,7'
          Dst:             class_perm_to_array
        - Src:             'module_to_cil.c:1723,2'
          Dst:             qsort
        - Src:             'module_to_cil.c:1723,2'
          Dst:             class_perm_cmp
        - Src:             'module_to_cil.c:1725,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1727,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1729,2'
          Dst:             cil_printf
    - functionName:    linked_block_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3870
      functionLinenumberEnd: 3897
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - block_to_cil
        - stack_pop
        - stack_push
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3887,2'
          Dst:             stack_push
        - Src:             'module_to_cil.c:3889,7'
          Dst:             block_to_cil
        - Src:             'module_to_cil.c:3894,2'
          Dst:             stack_pop
    - functionName:    global_block_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3801
      functionLinenumberEnd: 3830
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          116
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - block_to_cil
        - common_to_cil
        - hashtab_map
        - stack_push
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3814,2'
          Dst:             stack_push
        - Src:             'module_to_cil.c:3819,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:3819,7'
          Dst:             common_to_cil
        - Src:             'module_to_cil.c:3824,7'
          Dst:             block_to_cil
    - functionName:    level_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2510
      functionLinenumberEnd: 2527
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cil_printf
        - ebitmap_to_cil
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2516,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2519,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2520,3'
          Dst:             ebitmap_to_cil
        - Src:             'module_to_cil.c:2521,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2524,2'
          Dst:             cil_printf
    - functionName:    context_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2530
      functionLinenumberEnd: 2548
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          80
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cil_printf
        - level_to_cil
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2531,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2537,3'
          Dst:             level_to_cil
        - Src:             'module_to_cil.c:2538,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2539,3'
          Dst:             level_to_cil
        - Src:             'module_to_cil.c:2541,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2542,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2543,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2546,2'
          Dst:             cil_printf
    - functionName:    ocontext_isid_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2553
      functionLinenumberEnd: 2619
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          314
      EdgeCount:       61
      CyclomaticComplexity: 15
      functionsReached:
        - calloc
        - cil_printf
        - context_to_cil
        - isids_to_strs
        - strs_destroy
        - strs_free_all
        - strs_num_items
        - strs_read_at_index
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2561,9'
          Dst:             isids_to_strs
        - Src:             'module_to_cil.c:2567,6'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2568,3'
          Dst:             strs_destroy
        - Src:             'module_to_cil.c:2572,16'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2573,9'
          Dst:             strs_read_at_index
        - Src:             'module_to_cil.c:2574,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2577,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2579,16'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2580,9'
          Dst:             strs_read_at_index
        - Src:             'module_to_cil.c:2582,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2587,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2589,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2591,22'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2591,15'
          Dst:             calloc
        - Src:             'module_to_cil.c:2594,3'
          Dst:             strs_free_all
        - Src:             'module_to_cil.c:2595,3'
          Dst:             strs_destroy
        - Src:             'module_to_cil.c:2600,11'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2604,16'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2606,10'
          Dst:             strs_read_at_index
        - Src:             'module_to_cil.c:2607,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2609,4'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2610,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2615,2'
          Dst:             strs_free_all
        - Src:             'module_to_cil.c:2616,2'
          Dst:             strs_destroy
    - functionName:    ocontext_xen_pcidevice_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2926
      functionLinenumberEnd: 2935
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - cil_printf
        - context_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2930,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2931,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2932,3'
          Dst:             cil_printf
    - functionName:    ocontext_xen_iomem_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2902
      functionLinenumberEnd: 2922
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          70
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - cil_printf
        - context_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2912,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2914,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2917,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2919,3'
          Dst:             cil_printf
    - functionName:    ocontext_xen_ioport_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2878
      functionLinenumberEnd: 2898
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          70
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - cil_printf
        - context_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2888,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2890,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2893,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2895,3'
          Dst:             cil_printf
    - functionName:    ocontext_xen_pirq_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2865
      functionLinenumberEnd: 2874
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - cil_printf
        - context_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2869,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2870,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2871,3'
          Dst:             cil_printf
    - functionName:    ocontext_xen_isid_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2850
      functionLinenumberEnd: 2862
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - ocontext_isid_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2853,7'
          Dst:             ocontext_isid_to_cil
    - functionName:    ocontext_selinux_ibendport_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2804
      functionLinenumberEnd: 2814
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - cil_printf
        - context_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2808,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2809,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2811,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_ibpkey_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2687
      functionLinenumberEnd: 2721
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          140
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - cil_printf
        - context_to_cil
        - inet_ntop
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2701,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:2709,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2711,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2714,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2716,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_node6_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2772
      functionLinenumberEnd: 2801
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          150
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - cil_printf
        - context_to_cil
        - inet_ntop
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2779,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:2785,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:2791,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2793,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2795,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_fsuse_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2818
      functionLinenumberEnd: 2846
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          120
      EdgeCount:       20
      CyclomaticComplexity: 3
      functionsReached:
        - cil_printf
        - context_to_cil
      functionUses:    0
      BranchProfiles:
        - Branch String:   'module_to_cil.c:2825,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:2835,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2837,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2839,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_node_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2740
      functionLinenumberEnd: 2769
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          150
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - cil_printf
        - context_to_cil
        - inet_ntop
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2747,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:2753,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:2759,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2761,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2763,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_netif_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2724
      functionLinenumberEnd: 2736
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - cil_printf
        - context_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2728,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2729,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2731,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2732,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2733,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_port_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2646
      functionLinenumberEnd: 2683
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          161
      EdgeCount:       25
      CyclomaticComplexity: 4
      functionsReached:
        - cil_printf
        - context_to_cil
      functionUses:    0
      BranchProfiles:
        - Branch String:   'module_to_cil.c:2655,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:2670,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2672,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2675,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2677,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_fs_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2637
      functionLinenumberEnd: 2642
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          62
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ocontext_selinux_isid_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2622
      functionLinenumberEnd: 2634
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - ocontext_isid_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2625,7'
          Dst:             ocontext_isid_to_cil
    - functionName:    typealiases_gather_map
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          120
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - hashtab_search
        - list_init
        - list_prepend
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:326,11'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:335,10'
          Dst:             list_init
        - Src:             'module_to_cil.c:345,4'
          Dst:             list_prepend
    - functionName:    roles_gather_map
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - list_prepend
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:283,14'
          Dst:             calloc
        - Src:             'module_to_cil.c:291,7'
          Dst:             list_prepend
    - functionName:    fp_to_buffer
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4178
      functionLinenumberEnd: 4220
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          223
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - ferror
        - fread
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:4192,21'
          Dst:             fread
        - Src:             'module_to_cil.c:4196,12'
          Dst:             realloc
        - Src:             'module_to_cil.c:4206,6'
          Dst:             ferror
    - functionName:    sepol_ppfile_to_module_package
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4223
      functionLinenumberEnd: 4281
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          251
      EdgeCount:       49
      CyclomaticComplexity: 13
      functionsReached:
        - fileno
        - fp_to_buffer
        - fstat64
        - sepol_module_package_create
        - sepol_module_package_free
        - sepol_module_package_read
        - sepol_policy_file_create
        - sepol_policy_file_free
        - sepol_policy_file_set_fp
        - sepol_policy_file_set_mem
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:4232,7'
          Dst:             sepol_policy_file_create
        - Src:             'module_to_cil.c:4238,7'
          Dst:             fileno
        - Src:             'module_to_cil.c:4239,6'
          Dst:             fstat64
        - Src:             'module_to_cil.c:4248,8'
          Dst:             fp_to_buffer
        - Src:             'module_to_cil.c:4253,3'
          Dst:             sepol_policy_file_set_mem
        - Src:             'module_to_cil.c:4255,3'
          Dst:             sepol_policy_file_set_fp
        - Src:             'module_to_cil.c:4258,7'
          Dst:             sepol_module_package_create
        - Src:             'module_to_cil.c:4264,7'
          Dst:             sepol_module_package_read
        - Src:             'module_to_cil.c:4275,2'
          Dst:             sepol_policy_file_free
        - Src:             'module_to_cil.c:4278,3'
          Dst:             sepol_module_package_free
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    file_contexts_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3312
      functionLinenumberEnd: 3406
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         65
      ICount:          370
      EdgeCount:       85
      CyclomaticComplexity: 22
      functionsReached:
        - __ctype_b_loc
        - cil_printf
        - context_string_to_cil
        - get_line
        - sepol_module_package_get_file_contexts
        - sepol_module_package_get_file_contexts_len
        - strcmp
        - tokenize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3314,13'
          Dst:             sepol_module_package_get_file_contexts
        - Src:             'module_to_cil.c:3315,18'
          Dst:             sepol_module_package_get_file_contexts_len
        - Src:             'module_to_cil.c:3330,15'
          Dst:             get_line
        - Src:             'module_to_cil.c:3332,10'
          Dst:             __ctype_b_loc
        - Src:             'module_to_cil.c:3342,13'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3356,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3358,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3360,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3362,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3364,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3366,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3368,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3376,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3378,8'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3379,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3381,4'
          Dst:             context_string_to_cil
        - Src:             'module_to_cil.c:3384,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3394,3'
          Dst:             cil_printf
    - functionName:    user_extra_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3240
      functionLinenumberEnd: 3309
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          288
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - __ctype_b_loc
        - cil_printf
        - cil_println
        - get_line
        - sepol_module_package_get_user_extra
        - sepol_module_package_get_user_extra_len
        - strcmp
        - strlen
        - tokenize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3242,16'
          Dst:             sepol_module_package_get_user_extra
        - Src:             'module_to_cil.c:3243,21'
          Dst:             sepol_module_package_get_user_extra_len
        - Src:             'module_to_cil.c:3260,15'
          Dst:             get_line
        - Src:             'module_to_cil.c:3262,10'
          Dst:             __ctype_b_loc
        - Src:             'module_to_cil.c:3272,13'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3279,16'
          Dst:             strlen
        - Src:             'module_to_cil.c:3281,22'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3281,50'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3288,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3298,3'
          Dst:             cil_printf
    - functionName:    netfilter_contexts_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3229
      functionLinenumberEnd: 3236
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - sepol_module_package_get_netfilter_contexts_len
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3230,23'
          Dst:             sepol_module_package_get_netfilter_contexts_len
    - functionName:    seusers_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3152
      functionLinenumberEnd: 3226
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          244
      EdgeCount:       46
      CyclomaticComplexity: 11
      functionsReached:
        - __ctype_b_loc
        - cil_printf
        - get_line
        - level_range_string_to_cil
        - sepol_module_package_get_seusers
        - sepol_module_package_get_seusers_len
        - strcmp
        - tokenize
      functionUses:    1
      BranchProfiles:
        - Branch String:   'module_to_cil.c:3195,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:3154,18'
          Dst:             sepol_module_package_get_seusers
        - Src:             'module_to_cil.c:3155,23'
          Dst:             sepol_module_package_get_seusers_len
        - Src:             'module_to_cil.c:3169,15'
          Dst:             get_line
        - Src:             'module_to_cil.c:3171,10'
          Dst:             __ctype_b_loc
        - Src:             'module_to_cil.c:3181,13'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3189,8'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3190,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3192,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3197,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3200,4'
          Dst:             level_range_string_to_cil
        - Src:             'module_to_cil.c:3204,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3214,3'
          Dst:             cil_printf
    - functionName:    sepol_module_package_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4133
      functionLinenumberEnd: 4174
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          130
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - file_contexts_to_cil
        - netfilter_contexts_to_cil
        - sepol_module_package_get_policy
        - sepol_module_policydb_to_cil
        - seusers_to_cil
        - user_extra_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:4139,8'
          Dst:             sepol_module_package_get_policy
        - Src:             'module_to_cil.c:4146,7'
          Dst:             sepol_module_policydb_to_cil
        - Src:             'module_to_cil.c:4151,7'
          Dst:             seusers_to_cil
        - Src:             'module_to_cil.c:4156,7'
          Dst:             netfilter_contexts_to_cil
        - Src:             'module_to_cil.c:4161,7'
          Dst:             user_extra_to_cil
        - Src:             'module_to_cil.c:4166,7'
          Dst:             file_contexts_to_cil
    - functionName:    sepol_module_policydb_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4028
      functionLinenumberEnd: 4129
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          284
      EdgeCount:       71
      CyclomaticComplexity: 22
      functionsReached:
        - blocks_to_cil
        - fix_module_name
        - generate_default_level
        - generate_default_object
        - generate_gen_require_attribute
        - generate_mls
        - genfscon_to_cil
        - handle_unknown_to_cil
        - linked_blocks_to_cil
        - ocontexts_to_cil
        - polcaps_to_cil
        - role_list_create
        - role_list_destroy
        - typealias_list_create
        - typealias_list_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:4045,7'
          Dst:             fix_module_name
        - Src:             'module_to_cil.c:4055,8'
          Dst:             generate_default_level
        - Src:             'module_to_cil.c:4064,8'
          Dst:             generate_default_object
        - Src:             'module_to_cil.c:4070,8'
          Dst:             generate_gen_require_attribute
        - Src:             'module_to_cil.c:4076,8'
          Dst:             handle_unknown_to_cil
        - Src:             'module_to_cil.c:4082,8'
          Dst:             generate_mls
        - Src:             'module_to_cil.c:4088,7'
          Dst:             role_list_create
        - Src:             'module_to_cil.c:4093,7'
          Dst:             typealias_list_create
        - Src:             'module_to_cil.c:4098,7'
          Dst:             polcaps_to_cil
        - Src:             'module_to_cil.c:4103,7'
          Dst:             ocontexts_to_cil
        - Src:             'module_to_cil.c:4108,7'
          Dst:             genfscon_to_cil
        - Src:             'module_to_cil.c:4115,8'
          Dst:             linked_blocks_to_cil
        - Src:             'module_to_cil.c:4117,8'
          Dst:             blocks_to_cil
        - Src:             'module_to_cil.c:4126,2'
          Dst:             role_list_destroy
        - Src:             'module_to_cil.c:4127,2'
          Dst:             typealias_list_destroy
    - functionName:    fix_module_name
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3994
      functionLinenumberEnd: 4025
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          128
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - __ctype_b_loc
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:4004,15'
          Dst:             strdup
        - Src:             'module_to_cil.c:4015,7'
          Dst:             __ctype_b_loc
    - functionName:    generate_default_level
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3970
      functionLinenumberEnd: 3975
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cil_println
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3971,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3972,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3973,2'
          Dst:             cil_println
    - functionName:    generate_default_object
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3979
      functionLinenumberEnd: 3982
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cil_println
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3980,2'
          Dst:             cil_println
    - functionName:    generate_gen_require_attribute
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3986
      functionLinenumberEnd: 3990
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cil_println
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3987,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3988,2'
          Dst:             cil_println
    - functionName:    handle_unknown_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3933
      functionLinenumberEnd: 3959
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          90
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - cil_println
      functionUses:    1
      BranchProfiles:
        - Branch String:   'module_to_cil.c:3937,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:3953,2'
          Dst:             cil_println
    - functionName:    generate_mls
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3962
      functionLinenumberEnd: 3966
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cil_println
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3964,2'
          Dst:             cil_println
    - functionName:    role_list_create
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hashtab_map
        - list_init
        - roles_gather_map
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:301,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:306,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:306,7'
          Dst:             roles_gather_map
    - functionName:    typealias_list_create
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          108
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - hashtab_map
        - typealias_list_destroy
        - typealiases_gather_map
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:382,20'
          Dst:             calloc
        - Src:             'module_to_cil.c:387,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:387,7'
          Dst:             typealiases_gather_map
        - Src:             'module_to_cil.c:395,2'
          Dst:             typealias_list_destroy
    - functionName:    polcaps_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2484
      functionLinenumberEnd: 2507
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          129
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - cil_println
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - sepol_polcap_getname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2493,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2493,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2494,10'
          Dst:             sepol_polcap_getname
        - Src:             'module_to_cil.c:2501,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2493,2'
          Dst:             ebitmap_next
    - functionName:    ocontexts_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2939
      functionLinenumberEnd: 2990
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          139
      EdgeCount:       26
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'module_to_cil.c:2965,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    genfscon_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2993
      functionLinenumberEnd: 3044
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         49
      ICount:          275
      EdgeCount:       63
      CyclomaticComplexity: 16
      functionsReached:
        - cil_printf
        - context_to_cil
        - ebitmap_get_bit
        - strcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2998,17'
          Dst:             ebitmap_get_bit
        - Src:             'module_to_cil.c:3005,15'
          Dst:             strlen
        - Src:             'module_to_cil.c:3016,9'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3018,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3020,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3022,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3024,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3026,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3028,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3033,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3036,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3038,4'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3039,4'
          Dst:             cil_printf
    - functionName:    linked_blocks_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3901
      functionLinenumberEnd: 3929
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - global_block_to_cil
        - linked_block_to_cil
        - stack_destroy
        - stack_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3908,7'
          Dst:             stack_init
        - Src:             'module_to_cil.c:3914,7'
          Dst:             global_block_to_cil
        - Src:             'module_to_cil.c:3920,8'
          Dst:             linked_block_to_cil
        - Src:             'module_to_cil.c:3927,2'
          Dst:             stack_destroy
    - functionName:    blocks_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3834
      functionLinenumberEnd: 3866
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          96
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - cil_println
        - global_block_to_cil
        - module_block_to_cil
        - stack_destroy
        - stack_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:3840,7'
          Dst:             stack_init
        - Src:             'module_to_cil.c:3846,7'
          Dst:             global_block_to_cil
        - Src:             'module_to_cil.c:3852,8'
          Dst:             module_block_to_cil
        - Src:             'module_to_cil.c:3860,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3864,2'
          Dst:             stack_destroy
    - functionName:    role_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - list_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:220,2'
          Dst:             list_destroy
    - functionName:    typealias_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          54
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - list_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:360,4'
          Dst:             list_destroy
    - functionName:    type_vec_contains
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_type_attr
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_cond_rule_redundant
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 298
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          198
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - process_avtab_datum
        - type_vec_contains
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:289,8'
          Dst:             type_vec_contains
        - Src:             'optimize.c:291,8'
          Dst:             type_vec_contains
        - Src:             'optimize.c:294,7'
          Dst:             process_avtab_datum
    - functionName:    process_avtab_datum
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          257
      EdgeCount:       46
      CyclomaticComplexity: 15
      functionsReached:
        - process_xperms
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:182,12'
          Dst:             process_xperms
        - Src:             'optimize.c:191,12'
          Dst:             process_xperms
        - Src:             'optimize.c:196,11'
          Dst:             process_xperms
    - functionName:    process_xperms
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_avrule_with_attr
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - is_type_attr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:258,9'
          Dst:             is_type_attr
        - Src:             'optimize.c:258,35'
          Dst:             is_type_attr
    - functionName:    optimize_cond_av_list
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          153
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - is_avrule_redundant
        - is_avrule_with_attr
        - is_cond_rule_redundant
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:341,7'
          Dst:             is_avrule_with_attr
        - Src:             'optimize.c:365,7'
          Dst:             is_avrule_redundant
        - Src:             'optimize.c:366,7'
          Dst:             is_cond_rule_redundant
    - functionName:    is_avrule_redundant
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          204
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - avtab_search
        - process_avtab_datum
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:237,9'
          Dst:             avtab_search
        - Src:             'optimize.c:241,8'
          Dst:             process_avtab_datum
    - functionName:    type_vec_destroy
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    type_vec_append
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          78
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - reallocarray
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:63,25'
          Dst:             reallocarray
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    type_vec_init
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:48,13'
          Dst:             calloc
    - functionName:    destroy_type_map
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - type_vec_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:147,3'
          Dst:             type_vec_destroy
    - functionName:    optimize_cond_avtab
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          225
      EdgeCount:       45
      CyclomaticComplexity: 12
      functionsReached:
        - cond_node_destroy
        - optimize_cond_av_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:389,3'
          Dst:             optimize_cond_av_list
        - Src:             'optimize.c:390,3'
          Dst:             optimize_cond_av_list
        - Src:             'optimize.c:398,4'
          Dst:             cond_node_destroy
    - functionName:    optimize_avtab
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 325
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          109
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - is_avrule_redundant
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:309,8'
          Dst:             is_avrule_redundant
    - functionName:    build_type_map
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          293
      EdgeCount:       63
      CyclomaticComplexity: 17
      functionsReached:
        - calloc
        - ebitmap_contains
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - type_vec_append
        - type_vec_destroy
        - type_vec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:100,25'
          Dst:             calloc
        - Src:             'optimize.c:105,7'
          Dst:             type_vec_init
        - Src:             'optimize.c:112,4'
          Dst:             ebitmap_start
        - Src:             'optimize.c:112,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'optimize.c:114,9'
          Dst:             type_vec_append
        - Src:             'optimize.c:112,4'
          Dst:             ebitmap_next
        - Src:             'optimize.c:128,9'
          Dst:             ebitmap_contains
        - Src:             'optimize.c:129,10'
          Dst:             type_vec_append
        - Src:             'optimize.c:138,3'
          Dst:             type_vec_destroy
    - functionName:    policydb_optimize
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 472
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          113
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - build_type_map
        - destroy_type_map
        - optimize_avtab
        - optimize_cond_avtab
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:463,13'
          Dst:             build_type_map
        - Src:             'optimize.c:467,2'
          Dst:             optimize_avtab
        - Src:             'optimize.c:468,2'
          Dst:             optimize_cond_avtab
        - Src:             'optimize.c:470,2'
          Dst:             destroy_type_map
    - functionName:    sepol_polcap_getname
      functionSourceFile: '/src/selinux/libsepol/src/polcaps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_polcap_getnum
      functionSourceFile: '/src/selinux/libsepol/src/polcaps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          60
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'polcaps.c:33,7'
          Dst:             strcasecmp
    - functionName:    strcasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    context_read_and_validate
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2083
      functionLinenumberEnd: 2112
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          281
      EdgeCount:       58
      CyclomaticComplexity: 15
      functionsReached:
        - context_destroy
        - mls_read_range_helper
        - next_entry
        - policydb_context_isvalid
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2087,7'
          Dst:             next_entry
        - Src:             'policydb.c:2099,7'
          Dst:             mls_read_range_helper
        - Src:             'policydb.c:2106,7'
          Dst:             policydb_context_isvalid
        - Src:             'policydb.c:2108,3'
          Dst:             context_destroy
    - functionName:    mls_read_range_helper
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1914
      functionLinenumberEnd: 1963
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         63
      ICount:          413
      EdgeCount:       81
      CyclomaticComplexity: 20
      functionsReached:
        - ebitmap_cpy
        - ebitmap_destroy
        - ebitmap_read
        - next_entry
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1918,7'
          Dst:             next_entry
        - Src:             'policydb.c:1928,7'
          Dst:             next_entry
        - Src:             'policydb.c:1939,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1945,8'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1951,8'
          Dst:             ebitmap_cpy
        - Src:             'policydb.c:1962,2'
          Dst:             ebitmap_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_destroy
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:135,2'
          Dst:             mls_context_destroy
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_init
        - mls_range_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:112,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:113,2'
          Dst:             mls_context_init
    - functionName:    mls_range_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_destroy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:148,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:149,2'
          Dst:             mls_level_destroy
    - functionName:    mls_context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_range_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:42,2'
          Dst:             mls_range_init
    - functionName:    mls_range_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:142,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:143,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - mls_level_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:98,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:99,2'
          Dst:             mls_level_init
    - functionName:    ocontext_read_xen
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2897
      functionLinenumberEnd: 2998
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          476
      EdgeCount:       90
      CyclomaticComplexity: 24
      functionsReached:
        - calloc
        - context_read_and_validate
        - next_entry
        - str_read
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb.c:2919,4'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:2905,8'
          Dst:             next_entry
        - Src:             'policydb.c:2911,8'
          Dst:             calloc
        - Src:             'policydb.c:2921,10'
          Dst:             next_entry
        - Src:             'policydb.c:2927,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2932,10'
          Dst:             next_entry
        - Src:             'policydb.c:2936,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2941,10'
          Dst:             next_entry
        - Src:             'policydb.c:2946,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2953,11'
          Dst:             next_entry
        - Src:             'policydb.c:2959,11'
          Dst:             next_entry
        - Src:             'policydb.c:2965,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2970,10'
          Dst:             next_entry
        - Src:             'policydb.c:2974,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2979,10'
          Dst:             next_entry
        - Src:             'policydb.c:2983,10'
          Dst:             str_read
        - Src:             'policydb.c:2986,9'
          Dst:             context_read_and_validate
    - functionName:    ocontext_read_selinux
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3001
      functionLinenumberEnd: 3168
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         106
      ICount:          710
      EdgeCount:       142
      CyclomaticComplexity: 38
      functionsReached:
        - calloc
        - context_read_and_validate
        - next_entry
        - str_read
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb.c:3025,4'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:3009,8'
          Dst:             next_entry
        - Src:             'policydb.c:3015,8'
          Dst:             calloc
        - Src:             'policydb.c:3027,10'
          Dst:             next_entry
        - Src:             'policydb.c:3033,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3039,10'
          Dst:             next_entry
        - Src:             'policydb.c:3046,10'
          Dst:             str_read
        - Src:             'policydb.c:3050,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3053,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3060,10'
          Dst:             next_entry
        - Src:             'policydb.c:3078,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3086,10'
          Dst:             next_entry
        - Src:             'policydb.c:3097,10'
          Dst:             str_read
        - Src:             'policydb.c:3102,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3108,10'
          Dst:             next_entry
        - Src:             'policydb.c:3114,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3119,10'
          Dst:             next_entry
        - Src:             'policydb.c:3124,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3129,10'
          Dst:             next_entry
        - Src:             'policydb.c:3135,10'
          Dst:             str_read
        - Src:             'policydb.c:3139,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3146,10'
          Dst:             next_entry
        - Src:             'policydb.c:3155,9'
          Dst:             context_read_and_validate
    - functionName:    scope_index_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3914
      functionLinenumberEnd: 3946
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          163
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - calloc
        - ebitmap_read
        - exceeds_available_bytes
        - next_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3920,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:3924,7'
          Dst:             next_entry
        - Src:             'policydb.c:3929,6'
          Dst:             exceeds_available_bytes
        - Src:             'policydb.c:3936,7'
          Dst:             calloc
        - Src:             'policydb.c:3941,7'
          Dst:             ebitmap_read
    - functionName:    exceeds_available_bytes
      functionSourceFile: '/src/selinux/libsepol/src/./private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    range_trans_rule_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3872
      functionLinenumberEnd: 3910
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          140
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - ebitmap_read
        - mls_read_semantic_range_helper
        - next_entry
        - range_trans_rule_init
        - type_set_read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3878,7'
          Dst:             next_entry
        - Src:             'policydb.c:3887,3'
          Dst:             range_trans_rule_init
        - Src:             'policydb.c:3894,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3897,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3900,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:3903,7'
          Dst:             mls_read_semantic_range_helper
    - functionName:    range_trans_rule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 777
      functionLinenumberEnd: 783
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_init
        - mls_semantic_range_init
        - type_set_init
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:778,2'
          Dst:             type_set_init
        - Src:             'policydb.c:779,2'
          Dst:             type_set_init
        - Src:             'policydb.c:780,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:781,2'
          Dst:             mls_semantic_range_init
    - functionName:    type_set_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1892
      functionLinenumberEnd: 1907
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - ebitmap_read
        - next_entry
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1896,6'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1898,6'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1901,7'
          Dst:             next_entry
    - functionName:    mls_read_semantic_range_helper
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2020
      functionLinenumberEnd: 2030
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_read_semantic_level_helper
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2023,7'
          Dst:             mls_read_semantic_level_helper
        - Src:             'policydb.c:2027,7'
          Dst:             mls_read_semantic_level_helper
    - functionName:    mls_read_semantic_level_helper
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1972
      functionLinenumberEnd: 2012
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          259
      EdgeCount:       49
      CyclomaticComplexity: 12
      functionsReached:
        - mls_semantic_cat_init
        - mls_semantic_level_init
        - next_entry
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1978,2'
          Dst:             mls_semantic_level_init
        - Src:             'policydb.c:1980,7'
          Dst:             next_entry
        - Src:             'policydb.c:1995,3'
          Dst:             mls_semantic_cat_init
        - Src:             'policydb.c:1999,8'
          Dst:             next_entry
    - functionName:    type_set_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 566
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_init
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:564,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:565,2'
          Dst:             ebitmap_init
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    filename_trans_rule_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3813
      functionLinenumberEnd: 3868
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          213
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - filename_trans_rule_init
        - next_entry
        - str_read
        - type_set_read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3819,7'
          Dst:             next_entry
        - Src:             'policydb.c:3829,3'
          Dst:             filename_trans_rule_init
        - Src:             'policydb.c:3837,8'
          Dst:             next_entry
        - Src:             'policydb.c:3843,8'
          Dst:             str_read
        - Src:             'policydb.c:3847,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3850,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3858,8'
          Dst:             next_entry
    - functionName:    filename_trans_rule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 727
      functionLinenumberEnd: 731
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - type_set_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:729,2'
          Dst:             type_set_init
        - Src:             'policydb.c:730,2'
          Dst:             type_set_init
    - functionName:    role_allow_rule_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3776
      functionLinenumberEnd: 3809
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          116
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - next_entry
        - role_allow_rule_init
        - role_set_read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3782,7'
          Dst:             next_entry
        - Src:             'policydb.c:3792,3'
          Dst:             role_allow_rule_init
        - Src:             'policydb.c:3800,7'
          Dst:             role_set_read
        - Src:             'policydb.c:3803,7'
          Dst:             role_set_read
    - functionName:    role_allow_rule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - role_set_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:756,2'
          Dst:             role_set_init
        - Src:             'policydb.c:757,2'
          Dst:             role_set_init
    - functionName:    role_set_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1877
      functionLinenumberEnd: 1889
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_read
        - next_entry
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1881,6'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1883,7'
          Dst:             next_entry
    - functionName:    role_set_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 580
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:579,2'
          Dst:             ebitmap_init
    - functionName:    role_trans_rule_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3725
      functionLinenumberEnd: 3773
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          189
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached:
        - ebitmap_read
        - ebitmap_set_bit
        - next_entry
        - role_set_read
        - role_trans_rule_init
        - type_set_read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3731,7'
          Dst:             next_entry
        - Src:             'policydb.c:3741,3'
          Dst:             role_trans_rule_init
        - Src:             'policydb.c:3749,7'
          Dst:             role_set_read
        - Src:             'policydb.c:3752,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3756,8'
          Dst:             ebitmap_read
        - Src:             'policydb.c:3761,8'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:3765,8'
          Dst:             next_entry
    - functionName:    role_trans_rule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 700
      functionLinenumberEnd: 705
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_init
        - role_set_init
        - type_set_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:702,2'
          Dst:             role_set_init
        - Src:             'policydb.c:703,2'
          Dst:             type_set_init
        - Src:             'policydb.c:704,2'
          Dst:             ebitmap_init
    - functionName:    avrule_decl_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3950
      functionLinenumberEnd: 3996
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          273
      EdgeCount:       60
      CyclomaticComplexity: 18
      functionsReached:
        - avrule_read_list
        - cond_read_list
        - filename_trans_rule_read
        - next_entry
        - range_trans_rule_read
        - role_allow_rule_read
        - role_trans_rule_read
        - scope_index_read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3955,7'
          Dst:             next_entry
        - Src:             'policydb.c:3960,6'
          Dst:             cond_read_list
        - Src:             'policydb.c:3961,6'
          Dst:             avrule_read_list
        - Src:             'policydb.c:3962,6'
          Dst:             role_trans_rule_read
        - Src:             'policydb.c:3963,6'
          Dst:             role_allow_rule_read
        - Src:             'policydb.c:3968,6'
          Dst:             filename_trans_rule_read
        - Src:             'policydb.c:3972,6'
          Dst:             range_trans_rule_read
        - Src:             'policydb.c:3975,6'
          Dst:             scope_index_read
        - Src:             'policydb.c:3976,6'
          Dst:             scope_index_read
        - Src:             'policydb.c:3981,8'
          Dst:             next_entry
    - functionName:    avrule_read_list
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3692
      functionLinenumberEnd: 3721
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - avrule_read
        - next_entry
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3700,7'
          Dst:             next_entry
        - Src:             'policydb.c:3707,9'
          Dst:             avrule_read
    - functionName:    common_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2157
      functionLinenumberEnd: 2200
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          157
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
        - common_destroy
        - hashtab_insert
        - next_entry
        - perm_read
        - str_read
        - symtab_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2165,13'
          Dst:             calloc
        - Src:             'policydb.c:2169,7'
          Dst:             next_entry
        - Src:             'policydb.c:2174,7'
          Dst:             str_read
        - Src:             'policydb.c:2180,6'
          Dst:             symtab_init
        - Src:             'policydb.c:2188,7'
          Dst:             perm_read
        - Src:             'policydb.c:2192,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2198,2'
          Dst:             common_destroy
    - functionName:    class_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2298
      functionLinenumberEnd: 2396
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         83
      ICount:          526
      EdgeCount:       114
      CyclomaticComplexity: 33
      functionsReached:
        - calloc
        - class_destroy
        - hashtab_insert
        - hashtab_search
        - next_entry
        - perm_read
        - read_cons_helper
        - str_read
        - symtab_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2306,31'
          Dst:             calloc
        - Src:             'policydb.c:2310,7'
          Dst:             next_entry
        - Src:             'policydb.c:2315,7'
          Dst:             str_read
        - Src:             'policydb.c:2324,6'
          Dst:             symtab_init
        - Src:             'policydb.c:2334,8'
          Dst:             str_read
        - Src:             'policydb.c:2338,24'
          Dst:             hashtab_search
        - Src:             'policydb.c:2346,7'
          Dst:             perm_read
        - Src:             'policydb.c:2350,6'
          Dst:             read_cons_helper
        - Src:             'policydb.c:2358,8'
          Dst:             next_entry
        - Src:             'policydb.c:2362,7'
          Dst:             read_cons_helper
        - Src:             'policydb.c:2370,8'
          Dst:             next_entry
        - Src:             'policydb.c:2382,8'
          Dst:             next_entry
        - Src:             'policydb.c:2388,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2394,2'
          Dst:             class_destroy
    - functionName:    role_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2399
      functionLinenumberEnd: 2468
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          381
      EdgeCount:       89
      CyclomaticComplexity: 26
      functionsReached:
        - calloc
        - ebitmap_read
        - hashtab_insert
        - next_entry
        - role_destroy
        - str_read
        - strcmp
        - type_set_read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2406,9'
          Dst:             calloc
        - Src:             'policydb.c:2413,7'
          Dst:             next_entry
        - Src:             'policydb.c:2418,7'
          Dst:             str_read
        - Src:             'policydb.c:2426,6'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2430,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2433,7'
          Dst:             type_set_read
        - Src:             'policydb.c:2439,8'
          Dst:             next_entry
        - Src:             'policydb.c:2445,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2449,6'
          Dst:             strcmp
        - Src:             'policydb.c:2453,4'
          Dst:             role_destroy
        - Src:             'policydb.c:2456,3'
          Dst:             role_destroy
        - Src:             'policydb.c:2460,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2466,2'
          Dst:             role_destroy
    - functionName:    type_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2471
      functionLinenumberEnd: 2557
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         87
      ICount:          506
      EdgeCount:       117
      CyclomaticComplexity: 32
      functionsReached:
        - calloc
        - ebitmap_read
        - hashtab_insert
        - next_entry
        - str_read
        - type_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2479,13'
          Dst:             calloc
        - Src:             'policydb.c:2497,7'
          Dst:             next_entry
        - Src:             'policydb.c:2541,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2545,7'
          Dst:             str_read
        - Src:             'policydb.c:2549,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2555,2'
          Dst:             type_destroy
    - functionName:    user_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3323
      functionLinenumberEnd: 3400
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         89
      ICount:          464
      EdgeCount:       123
      CyclomaticComplexity: 36
      functionsReached:
        - calloc
        - ebitmap_read
        - hashtab_insert
        - mls_level_to_semantic
        - mls_range_to_semantic
        - mls_read_level
        - mls_read_range_helper
        - mls_read_semantic_level_helper
        - mls_read_semantic_range_helper
        - next_entry
        - role_set_read
        - str_read
        - user_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3330,13'
          Dst:             calloc
        - Src:             'policydb.c:3337,7'
          Dst:             next_entry
        - Src:             'policydb.c:3342,7'
          Dst:             str_read
        - Src:             'policydb.c:3351,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:3354,7'
          Dst:             role_set_read
        - Src:             'policydb.c:3370,7'
          Dst:             mls_read_range_helper
        - Src:             'policydb.c:3372,7'
          Dst:             mls_read_level
        - Src:             'policydb.c:3375,8'
          Dst:             mls_range_to_semantic
        - Src:             'policydb.c:3378,8'
          Dst:             mls_level_to_semantic
        - Src:             'policydb.c:3386,7'
          Dst:             mls_read_semantic_range_helper
        - Src:             'policydb.c:3388,7'
          Dst:             mls_read_semantic_level_helper
        - Src:             'policydb.c:3392,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:3398,2'
          Dst:             user_destroy
    - functionName:    sens_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3405
      functionLinenumberEnd: 3439
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          118
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - hashtab_insert
        - level_datum_init
        - mls_read_level
        - next_entry
        - sens_destroy
        - str_read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3414,2'
          Dst:             level_datum_init
        - Src:             'policydb.c:3416,7'
          Dst:             next_entry
        - Src:             'policydb.c:3421,7'
          Dst:             str_read
        - Src:             'policydb.c:3428,26'
          Dst:             mls_read_level
        - Src:             'policydb.c:3431,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:3437,2'
          Dst:             sens_destroy
    - functionName:    cat_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3444
      functionLinenumberEnd: 3475
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          98
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - cat_datum_init
        - cat_destroy
        - hashtab_insert
        - next_entry
        - str_read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3453,2'
          Dst:             cat_datum_init
        - Src:             'policydb.c:3455,7'
          Dst:             next_entry
        - Src:             'policydb.c:3460,7'
          Dst:             str_read
        - Src:             'policydb.c:3467,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:3473,2'
          Dst:             cat_destroy
    - functionName:    cat_datum_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 655
      functionLinenumberEnd: 657
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cat_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1463
      functionLinenumberEnd: 1468
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cat_datum_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1466,2'
          Dst:             cat_datum_destroy
    - functionName:    cat_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 660
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    level_datum_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 643
      functionLinenumberEnd: 645
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_read_level
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3299
      functionLinenumberEnd: 3320
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          156
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - ebitmap_read
        - mls_level_init
        - next_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3303,2'
          Dst:             mls_level_init
        - Src:             'policydb.c:3305,7'
          Dst:             next_entry
        - Src:             'policydb.c:3312,6'
          Dst:             ebitmap_read
    - functionName:    sens_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1446
      functionLinenumberEnd: 1458
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          70
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - level_datum_destroy
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1453,3'
          Dst:             mls_level_destroy
        - Src:             'policydb.c:1456,2'
          Dst:             level_datum_destroy
    - functionName:    level_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 648
      functionLinenumberEnd: 651
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_range_to_semantic
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2067
      functionLinenumberEnd: 2075
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - mls_level_to_semantic
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2068,6'
          Dst:             mls_level_to_semantic
        - Src:             'policydb.c:2071,6'
          Dst:             mls_level_to_semantic
    - functionName:    mls_level_to_semantic
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2033
      functionLinenumberEnd: 2064
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          139
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - mls_semantic_cat_init
        - mls_semantic_level_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2038,2'
          Dst:             mls_semantic_level_init
        - Src:             'policydb.c:2040,2'
          Dst:             ebitmap_start
        - Src:             'policydb.c:2041,7'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb.c:2049,4'
          Dst:             mls_semantic_cat_init
        - Src:             'policydb.c:2040,2'
          Dst:             ebitmap_next
    - functionName:    user_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1437
      functionLinenumberEnd: 1441
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - user_datum_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1439,2'
          Dst:             user_datum_destroy
    - functionName:    user_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 631
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - mls_level_destroy
        - mls_range_destroy
        - mls_semantic_level_destroy
        - mls_semantic_range_destroy
        - role_set_destroy
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:633,3'
          Dst:             role_set_destroy
        - Src:             'policydb.c:634,3'
          Dst:             mls_semantic_range_destroy
        - Src:             'policydb.c:635,3'
          Dst:             mls_semantic_level_destroy
        - Src:             'policydb.c:636,3'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:637,3'
          Dst:             mls_range_destroy
        - Src:             'policydb.c:638,3'
          Dst:             mls_level_destroy
    - functionName:    role_set_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 585
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_destroy
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:584,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    type_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1428
      functionLinenumberEnd: 1432
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - type_datum_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1430,2'
          Dst:             type_datum_destroy
    - functionName:    type_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 613
      functionLinenumberEnd: 617
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:615,3'
          Dst:             ebitmap_destroy
    - functionName:    role_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1419
      functionLinenumberEnd: 1423
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - role_datum_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1421,2'
          Dst:             role_datum_destroy
    - functionName:    role_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 604
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - type_set_destroy
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:599,3'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:600,3'
          Dst:             type_set_destroy
        - Src:             'policydb.c:601,3'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:602,3'
          Dst:             ebitmap_destroy
    - functionName:    type_set_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 574
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:571,3'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:572,3'
          Dst:             ebitmap_destroy
    - functionName:    perm_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2123
      functionLinenumberEnd: 2154
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          103
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - hashtab_insert
        - next_entry
        - perm_destroy
        - str_read
        - value_isvalid
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2130,13'
          Dst:             calloc
        - Src:             'policydb.c:2134,7'
          Dst:             next_entry
        - Src:             'policydb.c:2139,5'
          Dst:             str_read
        - Src:             'policydb.c:2143,7'
          Dst:             value_isvalid
        - Src:             'policydb.c:2146,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2152,2'
          Dst:             perm_destroy
    - functionName:    read_cons_helper
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2205
      functionLinenumberEnd: 2295
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          385
      EdgeCount:       87
      CyclomaticComplexity: 23
      functionsReached:
        - calloc
        - constraint_expr_init
        - ebitmap_read
        - next_entry
        - type_set_read
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policydb.c:2252,4'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:2215,7'
          Dst:             calloc
        - Src:             'policydb.c:2224,8'
          Dst:             next_entry
        - Src:             'policydb.c:2235,8'
          Dst:             constraint_expr_init
        - Src:             'policydb.c:2245,9'
          Dst:             next_entry
        - Src:             'policydb.c:2274,9'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2277,9'
          Dst:             type_set_read
        - Src:             'policydb.c:2281,7'
          Dst:             type_set_read
    - functionName:    class_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1383
      functionLinenumberEnd: 1415
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          124
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - constraint_expr_destroy
        - hashtab_destroy
        - hashtab_map
        - perm_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1393,8'
          Dst:             hashtab_map
        - Src:             'policydb.c:1393,8'
          Dst:             perm_destroy
        - Src:             'policydb.c:1394,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:1397,3'
          Dst:             constraint_expr_destroy
        - Src:             'policydb.c:1405,3'
          Dst:             constraint_expr_destroy
    - functionName:    perm_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1360
      functionLinenumberEnd: 1364
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    common_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1369
      functionLinenumberEnd: 1378
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hashtab_destroy
        - hashtab_map
        - perm_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1375,8'
          Dst:             hashtab_map
        - Src:             'policydb.c:1375,8'
          Dst:             perm_destroy
        - Src:             'policydb.c:1376,2'
          Dst:             hashtab_destroy
    - functionName:    avrule_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3485
      functionLinenumberEnd: 3592
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         97
      ICount:          607
      EdgeCount:       123
      CyclomaticComplexity: 28
      functionsReached:
        - avrule_destroy
        - avrule_init
        - calloc
        - class_perm_node_init
        - next_entry
        - type_set_read
      functionUses:    1
      BranchProfiles:
        - Branch String:   ''
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:3496,2'
          Dst:             avrule_init
        - Src:             'policydb.c:3498,7'
          Dst:             next_entry
        - Src:             'policydb.c:3505,6'
          Dst:             type_set_read
        - Src:             'policydb.c:3508,6'
          Dst:             type_set_read
        - Src:             'policydb.c:3511,7'
          Dst:             next_entry
        - Src:             'policydb.c:3520,3'
          Dst:             class_perm_node_init
        - Src:             'policydb.c:3522,8'
          Dst:             next_entry
        - Src:             'policydb.c:3560,20'
          Dst:             calloc
        - Src:             'policydb.c:3564,8'
          Dst:             next_entry
        - Src:             'policydb.c:3570,8'
          Dst:             next_entry
        - Src:             'policydb.c:3576,8'
          Dst:             next_entry
        - Src:             'policydb.c:3588,3'
          Dst:             avrule_destroy
    - functionName:    avrule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 671
      functionLinenumberEnd: 675
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - type_set_init
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:673,2'
          Dst:             type_set_init
        - Src:             'policydb.c:674,2'
          Dst:             type_set_init
    - functionName:    class_perm_node_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 666
      functionLinenumberEnd: 668
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avrule_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 697
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - type_set_destroy
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:684,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:685,2'
          Dst:             type_set_destroy
    - functionName:    filename_trans_check_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2756
      functionLinenumberEnd: 2782
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          80
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_destroy
        - ebitmap_get_bit
        - ebitmap_init
        - ebitmap_match_any
        - ebitmap_set_bit
        - ebitmap_union
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2760,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:2761,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:2764,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb.c:2767,7'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:2770,7'
          Dst:             ebitmap_match_any
        - Src:             'policydb.c:2773,7'
          Dst:             ebitmap_union
        - Src:             'policydb.c:2780,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:2781,2'
          Dst:             ebitmap_destroy
    - functionName:    filename_trans_read_one
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2786
      functionLinenumberEnd: 2866
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          252
      EdgeCount:       48
      CyclomaticComplexity: 15
      functionsReached:
        - ebitmap_cardinality
        - ebitmap_destroy
        - ebitmap_read
        - filename_trans_check_datum
        - hashtab_insert
        - next_entry
        - str_read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2794,7'
          Dst:             next_entry
        - Src:             'policydb.c:2799,7'
          Dst:             str_read
        - Src:             'policydb.c:2803,7'
          Dst:             next_entry
        - Src:             'policydb.c:2823,8'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2827,8'
          Dst:             next_entry
        - Src:             'policydb.c:2833,30'
          Dst:             ebitmap_cardinality
        - Src:             'policydb.c:2838,20'
          Dst:             filename_trans_check_datum
        - Src:             'policydb.c:2849,7'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2862,3'
          Dst:             ebitmap_destroy
    - functionName:    filename_trans_read_one_compat
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2710
      functionLinenumberEnd: 2753
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          123
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - next_entry
        - policydb_filetrans_insert
        - str_read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2715,7'
          Dst:             next_entry
        - Src:             'policydb.c:2720,7'
          Dst:             str_read
        - Src:             'policydb.c:2724,7'
          Dst:             next_entry
        - Src:             'policydb.c:2736,7'
          Dst:             policydb_filetrans_insert
    - functionName:    policydb_filetrans_insert
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2638
      functionLinenumberEnd: 2707
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          233
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - ebitmap_get_bit
        - ebitmap_init
        - ebitmap_set_bit
        - hashtab_insert
        - hashtab_search
        - strdup
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2647,10'
          Dst:             hashtab_search
        - Src:             'policydb.c:2649,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb.c:2664,3'
          Dst:             ebitmap_init
        - Src:             'policydb.c:2677,16'
          Dst:             strdup
        - Src:             'policydb.c:2695,8'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2706,9'
          Dst:             ebitmap_set_bit
    - functionName:    cat_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1170
      functionLinenumberEnd: 1186
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          91
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - value_isvalid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1178,8'
          Dst:             value_isvalid
    - functionName:    sens_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1151
      functionLinenumberEnd: 1167
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          94
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - value_isvalid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1159,8'
          Dst:             value_isvalid
    - functionName:    user_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1133
      functionLinenumberEnd: 1148
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          92
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - value_isvalid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1140,7'
          Dst:             value_isvalid
    - functionName:    type_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1113
      functionLinenumberEnd: 1130
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          103
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - value_isvalid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1121,8'
          Dst:             value_isvalid
    - functionName:    role_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1096
      functionLinenumberEnd: 1110
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          92
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - value_isvalid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1102,7'
          Dst:             value_isvalid
    - functionName:    partial_name_hash
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 863
      functionLinenumberEnd: 864
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policydb_sort_ocontexts
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4577
      functionLinenumberEnd: 4578
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sort_ocontexts
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:4578,9'
          Dst:             sort_ocontexts
    - functionName:    policy_file_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4560
      functionLinenumberEnd: 4562
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policydb_reindex_users
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4531
      functionLinenumberEnd: 4557
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          146
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - hashtab_map
        - policydb_user_cache
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:4540,6'
          Dst:             calloc
        - Src:             'policydb.c:4545,6'
          Dst:             calloc
        - Src:             'policydb.c:4549,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:4553,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:4553,6'
          Dst:             policydb_user_cache
    - functionName:    policydb_user_cache
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1019
      functionLinenumberEnd: 1050
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          102
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_destroy
        - mls_level_destroy
        - mls_range_destroy
        - mls_semantic_level_expand
        - mls_semantic_range_expand
        - role_set_expand
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1026,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1027,6'
          Dst:             role_set_expand
        - Src:             'policydb.c:1036,3'
          Dst:             mls_range_destroy
        - Src:             'policydb.c:1037,7'
          Dst:             mls_semantic_range_expand
        - Src:             'policydb.c:1042,3'
          Dst:             mls_level_destroy
        - Src:             'policydb.c:1043,7'
          Dst:             mls_semantic_level_expand
    - functionName:    common_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1063
      functionLinenumberEnd: 1076
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          80
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - value_isvalid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1069,7'
          Dst:             value_isvalid
    - functionName:    class_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1079
      functionLinenumberEnd: 1093
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          92
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - value_isvalid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1085,7'
          Dst:             value_isvalid
    - functionName:    range_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3595
      functionLinenumberEnd: 3688
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         56
      ICount:          378
      EdgeCount:       78
      CyclomaticComplexity: 24
      functionsReached:
        - calloc
        - ebitmap_set_bit
        - hashtab_insert
        - mls_range_destroy
        - mls_range_to_semantic
        - mls_read_range_helper
        - next_entry
        - range_trans_rule_destroy
        - range_trans_rule_init
        - value_isvalid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3605,7'
          Dst:             next_entry
        - Src:             'policydb.c:3610,8'
          Dst:             calloc
        - Src:             'policydb.c:3613,8'
          Dst:             next_entry
        - Src:             'policydb.c:3617,8'
          Dst:             value_isvalid
        - Src:             'policydb.c:3620,8'
          Dst:             value_isvalid
        - Src:             'policydb.c:3623,9'
          Dst:             next_entry
        - Src:             'policydb.c:3629,8'
          Dst:             value_isvalid
        - Src:             'policydb.c:3631,7'
          Dst:             calloc
        - Src:             'policydb.c:3634,7'
          Dst:             mls_read_range_helper
        - Src:             'policydb.c:3638,9'
          Dst:             hashtab_insert
        - Src:             'policydb.c:3650,3'
          Dst:             range_trans_rule_init
        - Src:             'policydb.c:3652,7'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:3655,7'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:3658,7'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:3661,7'
          Dst:             mls_range_to_semantic
        - Src:             'policydb.c:3680,3'
          Dst:             mls_range_destroy
        - Src:             'policydb.c:3684,3'
          Dst:             range_trans_rule_destroy
    - functionName:    range_trans_rule_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 786
      functionLinenumberEnd: 791
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_destroy
        - mls_semantic_range_destroy
        - type_set_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:787,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:788,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:789,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:790,2'
          Dst:             mls_semantic_range_destroy
    - functionName:    genfs_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3188
      functionLinenumberEnd: 3292
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         84
      ICount:          553
      EdgeCount:       112
      CyclomaticComplexity: 30
      functionsReached:
        - calloc
        - context_destroy
        - context_read_and_validate
        - next_entry
        - str_read
        - strcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:3196,7'
          Dst:             next_entry
        - Src:             'policydb.c:3202,8'
          Dst:             next_entry
        - Src:             'policydb.c:3206,14'
          Dst:             calloc
        - Src:             'policydb.c:3210,8'
          Dst:             str_read
        - Src:             'policydb.c:3219,8'
          Dst:             strcmp
        - Src:             'policydb.c:3226,8'
          Dst:             strcmp
        - Src:             'policydb.c:3234,8'
          Dst:             next_entry
        - Src:             'policydb.c:3239,11'
          Dst:             calloc
        - Src:             'policydb.c:3243,9'
          Dst:             next_entry
        - Src:             'policydb.c:3247,9'
          Dst:             str_read
        - Src:             'policydb.c:3251,9'
          Dst:             next_entry
        - Src:             'policydb.c:3255,8'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3259,10'
          Dst:             strcmp
        - Src:             'policydb.c:3267,11'
          Dst:             strlen
        - Src:             'policydb.c:3268,12'
          Dst:             strlen
        - Src:             'policydb.c:3286,3'
          Dst:             context_destroy
        - Src:             'policydb.c:3287,3'
          Dst:             context_destroy
    - functionName:    ocontext_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3172
      functionLinenumberEnd: 3184
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          98
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - ocontext_read_selinux
        - ocontext_read_xen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb.c:3174,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:3176,8'
          Dst:             ocontext_read_selinux
        - Src:             'policydb.c:3179,8'
          Dst:             ocontext_read_xen
    - functionName:    policydb_string_to_av_perm
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4157
      functionLinenumberEnd: 4182
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          114
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - hashtab_search
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:4166,4'
          Dst:             hashtab_search
        - Src:             'policydb.c:4175,4'
          Dst:             hashtab_search
    - functionName:    policydb_index_decls
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1242
      functionLinenumberEnd: 1278
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         42
      ICount:          260
      EdgeCount:       53
      CyclomaticComplexity: 13
      functionsReached:
        - calloc
        - value_isvalid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1257,6'
          Dst:             calloc
        - Src:             'policydb.c:1265,9'
          Dst:             value_isvalid
    - functionName:    scope_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4077
      functionLinenumberEnd: 4138
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          310
      EdgeCount:       62
      CyclomaticComplexity: 18
      functionsReached:
        - calloc
        - exceeds_available_bytes
        - hashtab_insert
        - hashtab_search
        - next_entry
        - scope_destroy
        - str_read
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:4086,7'
          Dst:             next_entry
        - Src:             'policydb.c:4091,7'
          Dst:             str_read
        - Src:             'policydb.c:4096,6'
          Dst:             hashtab_search
        - Src:             'policydb.c:4100,15'
          Dst:             calloc
        - Src:             'policydb.c:4103,7'
          Dst:             next_entry
        - Src:             'policydb.c:4109,6'
          Dst:             exceeds_available_bytes
        - Src:             'policydb.c:4114,7'
          Dst:             calloc
        - Src:             'policydb.c:4117,7'
          Dst:             next_entry
        - Src:             'policydb.c:4124,6'
          Dst:             strcmp
        - Src:             'policydb.c:4126,3'
          Dst:             scope_destroy
        - Src:             'policydb.c:4128,7'
          Dst:             hashtab_insert
        - Src:             'policydb.c:4136,2'
          Dst:             scope_destroy
    - functionName:    scope_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1664
      functionLinenumberEnd: 1671
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avrule_block_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4002
      functionLinenumberEnd: 4074
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          250
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - avrule_block_destroy
        - avrule_decl_create
        - avrule_decl_destroy
        - avrule_decl_read
        - calloc
        - next_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:4007,2'
          Dst:             __assert_fail
        - Src:             'policydb.c:4009,7'
          Dst:             next_entry
        - Src:             'policydb.c:4017,19'
          Dst:             calloc
        - Src:             'policydb.c:4020,8'
          Dst:             next_entry
        - Src:             'policydb.c:4031,19'
          Dst:             avrule_decl_create
        - Src:             'policydb.c:4032,5'
          Dst:             avrule_block_destroy
        - Src:             'policydb.c:4035,8'
          Dst:             avrule_decl_read
        - Src:             'policydb.c:4037,5'
          Dst:             avrule_decl_destroy
        - Src:             'policydb.c:4038,5'
          Dst:             avrule_block_destroy
        - Src:             'policydb.c:4044,6'
          Dst:             avrule_decl_destroy
        - Src:             'policydb.c:4045,6'
          Dst:             avrule_block_destroy
        - Src:             'policydb.c:4055,5'
          Dst:             __assert_fail
        - Src:             'policydb.c:4065,4'
          Dst:             __assert_fail
    - functionName:    filename_trans_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2869
      functionLinenumberEnd: 2893
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          109
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - filename_trans_read_one
        - filename_trans_read_one_compat
        - next_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2874,7'
          Dst:             next_entry
        - Src:             'policydb.c:2881,9'
          Dst:             filename_trans_read_one_compat
        - Src:             'policydb.c:2887,9'
          Dst:             filename_trans_read_one
    - functionName:    role_allow_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2603
      functionLinenumberEnd: 2632
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          113
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - next_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2609,7'
          Dst:             next_entry
        - Src:             'policydb.c:2615,8'
          Dst:             calloc
        - Src:             'policydb.c:2624,8'
          Dst:             next_entry
    - functionName:    role_trans_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2560
      functionLinenumberEnd: 2600
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          182
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
        - next_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2569,7'
          Dst:             next_entry
        - Src:             'policydb.c:2575,8'
          Dst:             calloc
        - Src:             'policydb.c:2584,8'
          Dst:             next_entry
        - Src:             'policydb.c:2591,9'
          Dst:             next_entry
    - functionName:    policydb_string_to_security_class
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4143
      functionLinenumberEnd: 4151
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hashtab_search
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:4146,17'
          Dst:             hashtab_search
    - functionName:    policydb_set_target_platform
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4565
      functionLinenumberEnd: 4574
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policydb_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4190
      functionLinenumberEnd: 4528
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         374
      ICount:          2204
      EdgeCount:       497
      CyclomaticComplexity: 125
      functionsReached:
        - __assert_fail
        - avrule_block_destroy
        - avrule_block_read
        - avtab_read
        - calloc
        - cond_read_list
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_read
        - ebitmap_set_bit
        - ebitmap_start
        - exceeds_available_bytes
        - filename_trans_read
        - genfs_read
        - next_entry
        - ocontext_read
        - policydb_index_classes
        - policydb_index_decls
        - policydb_index_others
        - policydb_lookup_compat
        - policydb_set_target_platform
        - policydb_string_to_av_perm
        - policydb_string_to_security_class
        - policydb_validate
        - range_read
        - role_allow_read
        - role_trans_read
        - scope_read
        - str_read
        - strcmp
      functionUses:    6
      BranchProfiles:
        - Branch String:   'policydb.c:4397,2'
          Branch Sides:    []
        - Branch String:   'policydb.c:4452,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:4202,7'
          Dst:             next_entry
        - Src:             'policydb.c:4225,7'
          Dst:             next_entry
        - Src:             'policydb.c:4234,9'
          Dst:             strcmp
        - Src:             'policydb.c:4236,5'
          Dst:             policydb_set_target_platform
        - Src:             'policydb.c:4247,7'
          Dst:             strcmp
        - Src:             'policydb.c:4260,7'
          Dst:             next_entry
        - Src:             'policydb.c:4300,3'
          Dst:             __assert_fail
        - Src:             'policydb.c:4318,9'
          Dst:             policydb_lookup_compat
        - Src:             'policydb.c:4337,13'
          Dst:             next_entry
        - Src:             'policydb.c:4341,8'
          Dst:             str_read
        - Src:             'policydb.c:4345,13'
          Dst:             next_entry
        - Src:             'policydb.c:4349,8'
          Dst:             str_read
        - Src:             'policydb.c:4360,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:4366,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:4372,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:4377,8'
          Dst:             next_entry
        - Src:             'policydb.c:4382,7'
          Dst:             exceeds_available_bytes
        - Src:             'policydb.c:4399,22'
          Dst:             policydb_string_to_security_class
        - Src:             'policydb.c:4400,18'
          Dst:             policydb_string_to_security_class
        - Src:             'policydb.c:4403,22'
          Dst:             policydb_string_to_security_class
        - Src:             'policydb.c:4410,7'
          Dst:             avtab_read
        - Src:             'policydb.c:4413,8'
          Dst:             cond_read_list
        - Src:             'policydb.c:4415,7'
          Dst:             role_trans_read
        - Src:             'policydb.c:4417,7'
          Dst:             role_allow_read
        - Src:             'policydb.c:4420,7'
          Dst:             filename_trans_read
        - Src:             'policydb.c:4424,3'
          Dst:             avrule_block_destroy
        - Src:             'policydb.c:4426,7'
          Dst:             avrule_block_read
        - Src:             'policydb.c:4434,14'
          Dst:             next_entry
        - Src:             'policydb.c:4439,9'
          Dst:             scope_read
        - Src:             'policydb.c:4446,6'
          Dst:             policydb_index_decls
        - Src:             'policydb.c:4449,6'
          Dst:             policydb_index_classes
        - Src:             'policydb.c:4456,22'
          Dst:             policydb_string_to_av_perm
        - Src:             'policydb.c:4459,4'
          Dst:             policydb_string_to_av_perm
        - Src:             'policydb.c:4466,6'
          Dst:             policydb_index_others
        - Src:             'policydb.c:4469,6'
          Dst:             ocontext_read
        - Src:             'policydb.c:4473,6'
          Dst:             genfs_read
        - Src:             'policydb.c:4482,7'
          Dst:             range_read
        - Src:             'policydb.c:4488,22'
          Dst:             calloc
        - Src:             'policydb.c:4489,22'
          Dst:             calloc
        - Src:             'policydb.c:4494,9'
          Dst:             ebitmap_read
        - Src:             'policydb.c:4496,5'
          Dst:             ebitmap_start
        - Src:             'policydb.c:4496,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb.c:4508,10'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:4496,5'
          Dst:             ebitmap_next
        - Src:             'policydb.c:4513,36'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:4516,9'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:4522,6'
          Dst:             policydb_validate
    - functionName:    policydb_lookup_compat
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 546
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          80
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policydb_index_classes
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1199
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          128
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - class_index
        - common_index
        - hashtab_map
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1202,6'
          Dst:             calloc
        - Src:             'policydb.c:1206,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1206,6'
          Dst:             common_index
        - Src:             'policydb.c:1211,6'
          Dst:             calloc
        - Src:             'policydb.c:1217,6'
          Dst:             calloc
        - Src:             'policydb.c:1221,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1221,6'
          Dst:             class_index
    - functionName:    policydb_index_others
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1286
      functionLinenumberEnd: 1350
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          444
      EdgeCount:       75
      CyclomaticComplexity: 20
      functionsReached:
        - calloc
        - cond_init_bool_indexes
        - hashtab_map
        - policydb_role_cache
        - policydb_user_cache
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1310,6'
          Dst:             calloc
        - Src:             'policydb.c:1316,6'
          Dst:             calloc
        - Src:             'policydb.c:1322,6'
          Dst:             calloc
        - Src:             'policydb.c:1326,6'
          Dst:             cond_init_bool_indexes
        - Src:             'policydb.c:1334,8'
          Dst:             calloc
        - Src:             'policydb.c:1337,8'
          Dst:             hashtab_map
        - Src:             'policydb.c:1343,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1343,6'
          Dst:             policydb_role_cache
        - Src:             'policydb.c:1346,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1346,6'
          Dst:             policydb_user_cache
    - functionName:    policydb_role_cache
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1001
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - type_set_expand
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1008,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1009,6'
          Dst:             type_set_expand
    - functionName:    type_set_or
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1828
      functionLinenumberEnd: 1842
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          72
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_or
        - type_set_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1829,2'
          Dst:             type_set_init
        - Src:             'policydb.c:1831,6'
          Dst:             ebitmap_or
        - Src:             'policydb.c:1834,6'
          Dst:             ebitmap_or
    - functionName:    type_set_or_eq
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1858
      functionLinenumberEnd: 1869
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - type_set_cpy
        - type_set_destroy
        - type_set_or
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1862,6'
          Dst:             type_set_or
        - Src:             'policydb.c:1864,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:1865,8'
          Dst:             type_set_cpy
        - Src:             'policydb.c:1866,2'
          Dst:             type_set_destroy
    - functionName:    type_set_cpy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1845
      functionLinenumberEnd: 1855
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_cpy
        - type_set_init
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1846,2'
          Dst:             type_set_init
        - Src:             'policydb.c:1849,6'
          Dst:             ebitmap_cpy
        - Src:             'policydb.c:1851,6'
          Dst:             ebitmap_cpy
    - functionName:    symtab_insert
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1724
      functionLinenumberEnd: 1825
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         64
      ICount:          406
      EdgeCount:       86
      CyclomaticComplexity: 24
      functionsReached:
        - __assert_fail
        - add_i_to_a
        - hashtab_insert
        - hashtab_search
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1735,7'
          Dst:             hashtab_insert
        - Src:             'policydb.c:1750,24'
          Dst:             hashtab_search
        - Src:             'policydb.c:1752,24'
          Dst:             strdup
        - Src:             'policydb.c:1763,8'
          Dst:             hashtab_insert
        - Src:             'policydb.c:1782,6'
          Dst:             hashtab_search
        - Src:             'policydb.c:1784,4'
          Dst:             __assert_fail
        - Src:             'policydb.c:1805,6'
          Dst:             add_i_to_a
    - functionName:    policydb_load_isids
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1679
      functionLinenumberEnd: 1696
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          146
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - sepol_sidtab_init
        - sepol_sidtab_insert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1682,6'
          Dst:             sepol_sidtab_init
        - Src:             'policydb.c:1689,7'
          Dst:             sepol_sidtab_insert
    - functionName:    range_tr_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1495
      functionLinenumberEnd: 1501
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1498,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1499,2'
          Dst:             ebitmap_destroy
    - functionName:    filenametr_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1478
      functionLinenumberEnd: 1490
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          53
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1486,3'
          Dst:             ebitmap_destroy
    - functionName:    ocontext_xen_free
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1527
      functionLinenumberEnd: 1543
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          85
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - context_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1536,4'
          Dst:             context_destroy
        - Src:             'policydb.c:1537,4'
          Dst:             context_destroy
    - functionName:    ocontext_selinux_free
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1505
      functionLinenumberEnd: 1524
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          115
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - context_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1514,4'
          Dst:             context_destroy
        - Src:             'policydb.c:1515,4'
          Dst:             context_destroy
    - functionName:    symtabs_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1654
      functionLinenumberEnd: 1660
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          49
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - hashtab_destroy
        - hashtab_map
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1657,9'
          Dst:             hashtab_map
        - Src:             'policydb.c:1658,3'
          Dst:             hashtab_destroy
    - functionName:    policydb_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1549
      functionLinenumberEnd: 1651
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         75
      ICount:          478
      EdgeCount:       97
      CyclomaticComplexity: 24
      functionsReached:
        - avrule_block_list_destroy
        - avtab_destroy
        - cond_policydb_destroy
        - context_destroy
        - ebitmap_destroy
        - filenametr_destroy
        - hashtab_destroy
        - hashtab_map
        - ocontext_selinux_free
        - ocontext_xen_free
        - range_tr_destroy
        - scope_destroy
        - symtabs_destroy
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1559,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1561,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1563,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1565,2'
          Dst:             symtabs_destroy
        - Src:             'policydb.c:1583,9'
          Dst:             hashtab_map
        - Src:             'policydb.c:1583,9'
          Dst:             scope_destroy
        - Src:             'policydb.c:1584,3'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:1586,2'
          Dst:             avrule_block_list_destroy
        - Src:             'policydb.c:1590,2'
          Dst:             avtab_destroy
        - Src:             'policydb.c:1593,3'
          Dst:             ocontext_selinux_free
        - Src:             'policydb.c:1595,3'
          Dst:             ocontext_xen_free
        - Src:             'policydb.c:1604,4'
          Dst:             context_destroy
        - Src:             'policydb.c:1612,2'
          Dst:             cond_policydb_destroy
        - Src:             'policydb.c:1630,2'
          Dst:             hashtab_map
        - Src:             'policydb.c:1630,2'
          Dst:             filenametr_destroy
        - Src:             'policydb.c:1631,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:1633,2'
          Dst:             hashtab_map
        - Src:             'policydb.c:1633,2'
          Dst:             range_tr_destroy
        - Src:             'policydb.c:1634,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:1638,4'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1645,4'
          Dst:             ebitmap_destroy
    - functionName:    policydb_index_bools
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1228
      functionLinenumberEnd: 1239
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          67
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - cond_index_bool
        - cond_init_bool_indexes
        - hashtab_map
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1230,6'
          Dst:             cond_init_bool_indexes
        - Src:             'policydb.c:1233,6'
          Dst:             calloc
        - Src:             'policydb.c:1236,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1236,6'
          Dst:             cond_index_bool
    - functionName:    rangetr_cmp
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 910
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          105
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rangetr_hash
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 902
      functionLinenumberEnd: 905
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          29
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    filenametr_cmp
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 884
      functionLinenumberEnd: 899
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          98
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:897,9'
          Dst:             strcmp
    - functionName:    filenametr_hash
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 868
      functionLinenumberEnd: 879
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          64
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - partial_name_hash
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:878,10'
          Dst:             partial_name_hash
    - functionName:    roles_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 825
      functionLinenumberEnd: 857
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          83
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - strdup
        - symtab_insert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:830,9'
          Dst:             calloc
        - Src:             'policydb.c:835,8'
          Dst:             strdup
        - Src:             'policydb.c:840,7'
          Dst:             symtab_insert
    - functionName:    policydb_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 932
      functionLinenumberEnd: 996
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          242
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - avrule_block_create
        - avrule_block_list_destroy
        - avrule_decl_create
        - avtab_init
        - cond_policydb_init
        - ebitmap_init
        - filenametr_cmp
        - filenametr_hash
        - hashtab_create
        - hashtab_destroy
        - rangetr_cmp
        - rangetr_hash
        - roles_init
        - symtab_init
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:939,8'
          Dst:             symtab_init
        - Src:             'policydb.c:946,7'
          Dst:             symtab_init
        - Src:             'policydb.c:950,19'
          Dst:             avrule_block_create
        - Src:             'policydb.c:951,32'
          Dst:             avrule_decl_create
        - Src:             'policydb.c:956,7'
          Dst:             avtab_init
        - Src:             'policydb.c:960,7'
          Dst:             roles_init
        - Src:             'policydb.c:964,7'
          Dst:             cond_policydb_init
        - Src:             'policydb.c:968,22'
          Dst:             hashtab_create
        - Src:             'policydb.c:968,22'
          Dst:             filenametr_hash
        - Src:             'policydb.c:968,22'
          Dst:             filenametr_cmp
        - Src:             'policydb.c:974,16'
          Dst:             hashtab_create
        - Src:             'policydb.c:974,16'
          Dst:             rangetr_hash
        - Src:             'policydb.c:974,16'
          Dst:             rangetr_cmp
        - Src:             'policydb.c:980,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:981,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:982,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:988,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:989,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:991,3'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:992,3'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:994,2'
          Dst:             avrule_block_list_destroy
    - functionName:    avrule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 804
      functionLinenumberEnd: 817
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - avrule_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:814,3'
          Dst:             avrule_destroy
    - functionName:    range_trans_rule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 801
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - range_trans_rule_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:797,3'
          Dst:             range_trans_rule_destroy
    - functionName:    role_allow_rule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 767
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - role_allow_rule_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:770,3'
          Dst:             role_allow_rule_destroy
    - functionName:    role_allow_rule_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 764
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - role_set_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:762,2'
          Dst:             role_set_destroy
        - Src:             'policydb.c:763,2'
          Dst:             role_set_destroy
    - functionName:    filename_trans_rule_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 740
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - type_set_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:737,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:738,2'
          Dst:             type_set_destroy
    - functionName:    filename_trans_rule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 743
      functionLinenumberEnd: 751
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - filename_trans_rule_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:747,3'
          Dst:             filename_trans_rule_destroy
    - functionName:    role_trans_rule_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 708
      functionLinenumberEnd: 714
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - role_set_destroy
        - type_set_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:710,3'
          Dst:             role_set_destroy
        - Src:             'policydb.c:711,3'
          Dst:             type_set_destroy
        - Src:             'policydb.c:712,3'
          Dst:             ebitmap_destroy
    - functionName:    role_trans_rule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 717
      functionLinenumberEnd: 724
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - role_trans_rule_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:720,3'
          Dst:             role_trans_rule_destroy
    - functionName:    user_datum_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 628
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_init
        - mls_level_init
        - mls_range_init
        - mls_semantic_level_init
        - mls_semantic_range_init
        - role_set_init
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:622,2'
          Dst:             role_set_init
        - Src:             'policydb.c:623,2'
          Dst:             mls_semantic_range_init
        - Src:             'policydb.c:624,2'
          Dst:             mls_semantic_level_init
        - Src:             'policydb.c:625,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:626,2'
          Dst:             mls_range_init
        - Src:             'policydb.c:627,2'
          Dst:             mls_level_init
    - functionName:    type_datum_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 607
      functionLinenumberEnd: 610
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:609,2'
          Dst:             ebitmap_init
    - functionName:    role_datum_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ebitmap_init
        - type_set_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:590,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:591,2'
          Dst:             type_set_init
        - Src:             'policydb.c:592,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:593,2'
          Dst:             ebitmap_init
    - functionName:    sepol_policydb_compat_net
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - hashtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_public.c:212,10'
          Dst:             hashtab_search
    - functionName:    sepol_policydb_mls_enabled
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_policydb_to_image
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - policydb_to_image
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_public.c:196,9'
          Dst:             policydb_to_image
    - functionName:    sepol_policydb_from_image
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - policydb_from_image
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_public.c:189,9'
          Dst:             policydb_from_image
    - functionName:    sepol_policydb_write
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - policydb_write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_public.c:183,9'
          Dst:             policydb_write
    - functionName:    sepol_policydb_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - policydb_read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_public.c:178,9'
          Dst:             policydb_read
    - functionName:    sepol_policydb_optimize
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - policydb_optimize
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_public.c:173,9'
          Dst:             policydb_optimize
    - functionName:    sepol_policydb_set_target_platform
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          41
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'policydb_public.c:159,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sepol_policydb_set_handle_unknown
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          45
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'policydb_public.c:141,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sepol_policydb_set_vers
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          83
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'policydb_public.c:118,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sepol_policydb_set_typevers
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          48
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'policydb_public.c:100,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sepol_policy_kern_vers_max
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_policy_kern_vers_min
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_policydb_free
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - policydb_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_public.c:82,2'
          Dst:             policydb_destroy
    - functionName:    sepol_policydb_create
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - policydb_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_public.c:69,6'
          Dst:             policydb_init
    - functionName:    sepol_policy_file_free
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_policy_file_set_handle
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_policy_file_get_len
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_policy_file_set_fp
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_policy_file_set_mem
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 19
      functionLinenumberEnd: 30
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          44
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_policy_file_create
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 10
      functionLinenumberEnd: 15
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_public.c:11,8'
          Dst:             calloc
    - functionName:    validate_range_transition
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1645
      functionLinenumberEnd: 1664
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          92
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - validate_mls_range
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1651,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1653,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1655,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1657,6'
          Dst:             validate_mls_range
    - functionName:    validate_value
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          56
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ebitmap_get_bit
      functionUses:    38
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:110,6'
          Dst:             ebitmap_get_bit
    - functionName:    validate_mls_range
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 744
      functionLinenumberEnd: 754
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - validate_mls_level
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:745,6'
          Dst:             validate_mls_level
        - Src:             'policydb_validate.c:747,6'
          Dst:             validate_mls_level
    - functionName:    validate_mls_level
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 705
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - validate_ebitmap
        - validate_value
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:696,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:698,6'
          Dst:             validate_ebitmap
    - functionName:    validate_ebitmap
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - ebitmap_highest_set_bit
        - ebitmap_match_any
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:121,33'
          Dst:             ebitmap_highest_set_bit
        - Src:             'policydb_validate.c:123,6'
          Dst:             ebitmap_match_any
    - functionName:    validate_bool_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 793
      functionLinenumberEnd: 818
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          129
      EdgeCount:       26
      CyclomaticComplexity: 3
      functionsReached:
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:797,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:805,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:794,6'
          Dst:             validate_value
    - functionName:    validate_level_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 708
      functionLinenumberEnd: 734
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          176
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - ebitmap_cmp
        - hashtab_search
        - validate_mls_level
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:715,6'
          Dst:             validate_mls_level
        - Src:             'policydb_validate.c:721,51'
          Dst:             hashtab_search
        - Src:             'policydb_validate.c:725,8'
          Dst:             ebitmap_cmp
    - functionName:    validate_user_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 757
      functionLinenumberEnd: 783
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          218
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - validate_mls_level
        - validate_mls_range
        - validate_mls_semantic_level
        - validate_mls_semantic_range
        - validate_role_set
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:758,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:760,6'
          Dst:             validate_role_set
        - Src:             'policydb_validate.c:764,7'
          Dst:             validate_mls_semantic_range
        - Src:             'policydb_validate.c:766,7'
          Dst:             validate_mls_semantic_level
        - Src:             'policydb_validate.c:770,7'
          Dst:             validate_mls_range
        - Src:             'policydb_validate.c:772,7'
          Dst:             validate_mls_level
        - Src:             'policydb_validate.c:775,22'
          Dst:             validate_value
    - functionName:    validate_role_set
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          58
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - validate_ebitmap
      functionUses:    4
      BranchProfiles:
        - Branch String:   'policydb_validate.c:174,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:171,6'
          Dst:             validate_ebitmap
    - functionName:    validate_mls_semantic_range
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 680
      functionLinenumberEnd: 690
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - validate_mls_semantic_level
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:681,6'
          Dst:             validate_mls_semantic_level
        - Src:             'policydb_validate.c:683,6'
          Dst:             validate_mls_semantic_level
    - functionName:    validate_mls_semantic_level
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 665
      functionLinenumberEnd: 677
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          75
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - validate_mls_semantic_cat
        - validate_value
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:668,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:670,6'
          Dst:             validate_mls_semantic_cat
    - functionName:    validate_mls_semantic_cat
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 648
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          74
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:650,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:652,7'
          Dst:             validate_value
    - functionName:    validate_types_in_attribute
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 570
      functionLinenumberEnd: 588
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          119
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - validate_ebitmap
        - validate_simpletype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:574,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:578,3'
          Dst:             ebitmap_start
        - Src:             'policydb_validate.c:578,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb_validate.c:579,8'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:578,3'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_simpletype
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - validate_value
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:553,6'
          Dst:             validate_value
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_type_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 591
      functionLinenumberEnd: 638
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          265
      EdgeCount:       62
      CyclomaticComplexity: 12
      functionsReached:
        - validate_simpletype
        - validate_types_in_attribute
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:597,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:620,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:592,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:594,23'
          Dst:             validate_value
        - Src:             'policydb_validate.c:602,23'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:610,8'
          Dst:             validate_types_in_attribute
    - functionName:    validate_role_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 540
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          173
      EdgeCount:       38
      CyclomaticComplexity: 9
      functionsReached:
        - validate_ebitmap
        - validate_type_set
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:527,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:516,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:518,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:520,6'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:522,22'
          Dst:             validate_value
        - Src:             'policydb_validate.c:524,6'
          Dst:             validate_ebitmap
    - functionName:    validate_type_set
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          69
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - validate_ebitmap
      functionUses:    9
      BranchProfiles:
        - Branch String:   'policydb_validate.c:139,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:134,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:136,6'
          Dst:             validate_ebitmap
    - functionName:    validate_empty_type_set
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_constraint_nodes
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         142
      ICount:          661
      EdgeCount:       174
      CyclomaticComplexity: 34
      functionsReached:
        - validate_ebitmap
        - validate_empty_type_set
        - validate_type_set
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policydb_validate.c:273,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:281,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:315,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:329,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:344,5'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:269,10'
          Dst:             validate_empty_type_set
        - Src:             'policydb_validate.c:285,10'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:291,10'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:297,10'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:299,10'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:312,9'
          Dst:             validate_empty_type_set
        - Src:             'policydb_validate.c:365,9'
          Dst:             validate_empty_type_set
    - functionName:    validate_class_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         71
      ICount:          371
      EdgeCount:       81
      CyclomaticComplexity: 12
      functionsReached:
        - validate_common_datum
        - validate_constraint_nodes
        - validate_permission_symtab
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:459,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:468,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:477,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:486,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:442,37'
          Dst:             validate_value
        - Src:             'policydb_validate.c:444,25'
          Dst:             validate_common_datum
        - Src:             'policydb_validate.c:452,6'
          Dst:             validate_permission_symtab
        - Src:             'policydb_validate.c:454,6'
          Dst:             validate_constraint_nodes
        - Src:             'policydb_validate.c:456,6'
          Dst:             validate_constraint_nodes
    - functionName:    validate_common_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 431
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          142
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - validate_permission_symtab
        - validate_value
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:417,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:423,6'
          Dst:             validate_permission_symtab
    - functionName:    validate_permission_symtab
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 400
      functionLinenumberEnd: 413
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_map
        - perm_visit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:405,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:405,6'
          Dst:             perm_visit
    - functionName:    perm_visit
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          105
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - value_isvalid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:386,7'
          Dst:             value_isvalid
        - Src:             'policydb_validate.c:389,37'
          Dst:             value_isvalid
    - functionName:    value_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          34
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_bool_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 821
      functionLinenumberEnd: 824
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - validate_bool_datum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:824,9'
          Dst:             validate_bool_datum
    - functionName:    validate_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 870
      functionLinenumberEnd: 874
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - value_isvalid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:874,10'
          Dst:             value_isvalid
    - functionName:    validate_level_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 740
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - validate_level_datum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:740,9'
          Dst:             validate_level_datum
    - functionName:    validate_user_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 786
      functionLinenumberEnd: 789
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - validate_user_datum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:789,9'
          Dst:             validate_user_datum
    - functionName:    validate_type_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 644
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - validate_type_datum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:644,9'
          Dst:             validate_type_datum
    - functionName:    validate_role_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - validate_role_datum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:546,9'
          Dst:             validate_role_datum
    - functionName:    validate_class_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 508
      functionLinenumberEnd: 511
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - validate_class_datum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:511,9'
          Dst:             validate_class_datum
    - functionName:    validate_common_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - validate_common_datum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:437,9'
          Dst:             validate_common_datum
    - functionName:    validate_scope
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          86
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - value_isvalid
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:195,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:204,8'
          Dst:             value_isvalid
    - functionName:    validate_context
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1324
      functionLinenumberEnd: 1335
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          90
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - validate_mls_range
        - validate_value
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1325,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1327,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1329,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1331,13'
          Dst:             validate_mls_range
    - functionName:    validate_filename_trans_rules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1537
      functionLinenumberEnd: 1566
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          181
      EdgeCount:       42
      CyclomaticComplexity: 10
      functionsReached:
        - validate_simpletype
        - validate_type_set
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1549,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1539,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1541,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1543,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1545,7'
          Dst:             validate_simpletype
    - functionName:    validate_scope_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1504
      functionLinenumberEnd: 1533
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          209
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - validate_ebitmap
        - validate_value
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1509,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1511,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1513,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1515,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1517,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1519,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1521,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1525,7'
          Dst:             validate_value
    - functionName:    validate_range_trans_rules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1484
      functionLinenumberEnd: 1501
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          140
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - validate_ebitmap
        - validate_mls_semantic_range
        - validate_type_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1486,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1488,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1490,7'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1492,7'
          Dst:             validate_mls_semantic_range
    - functionName:    validate_role_allow_rules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1468
      functionLinenumberEnd: 1481
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          114
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - validate_role_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1470,7'
          Dst:             validate_role_set
        - Src:             'policydb_validate.c:1472,7'
          Dst:             validate_role_set
    - functionName:    validate_role_trans_rules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1448
      functionLinenumberEnd: 1465
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          139
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - validate_ebitmap
        - validate_role_set
        - validate_type_set
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1450,7'
          Dst:             validate_role_set
        - Src:             'policydb_validate.c:1452,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1454,7'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1456,7'
          Dst:             validate_value
    - functionName:    validate_filename_trans
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1285
      functionLinenumberEnd: 1309
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          116
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - validate_ebitmap
        - validate_simpletype
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1292,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1294,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1299,7'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1301,7'
          Dst:             validate_simpletype
    - functionName:    validate_bool_id_array
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1142
      functionLinenumberEnd: 1158
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          117
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1149,7'
          Dst:             validate_value
    - functionName:    validate_avrules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1058
      functionLinenumberEnd: 1139
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         93
      ICount:          436
      EdgeCount:       110
      CyclomaticComplexity: 19
      functionsReached:
        - validate_simpletype
        - validate_type_set
        - validate_value
      functionUses:    3
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1067,3'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1100,4'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1111,3'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1121,4'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1062,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1064,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1089,8'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1091,45'
          Dst:             validate_simpletype
    - functionName:    validate_cond_av_list
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1041
      functionLinenumberEnd: 1055
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          133
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - validate_avtab_key_and_datum
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1047,8'
          Dst:             validate_avtab_key_and_datum
    - functionName:    validate_avtab_key_and_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 995
      functionLinenumberEnd: 1026
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          200
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - validate_access_vector
        - validate_avtab_key
        - validate_simpletype
        - validate_xperms
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:998,6'
          Dst:             validate_avtab_key
        - Src:             'policydb_validate.c:1007,7'
          Dst:             validate_access_vector
        - Src:             'policydb_validate.c:1011,37'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:1018,20'
          Dst:             validate_access_vector
        - Src:             'policydb_validate.c:1021,7'
          Dst:             validate_xperms
    - functionName:    validate_avtab_key
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 917
      functionLinenumberEnd: 956
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          242
      EdgeCount:       61
      CyclomaticComplexity: 14
      functionsReached:
        - validate_simpletype
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:932,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:919,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:921,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:924,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:926,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:930,6'
          Dst:             validate_value
    - functionName:    validate_access_vector
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 977
      functionLinenumberEnd: 992
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          118
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_xperms
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 959
      functionLinenumberEnd: 973
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          39
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:960,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    validate_cond_expr
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1161
      functionLinenumberEnd: 1206
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          211
      EdgeCount:       53
      CyclomaticComplexity: 12
      functionsReached:
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1168,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1170,8'
          Dst:             validate_value
    - functionName:    create_gap_ebitmap
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - ebitmap_init
        - ebitmap_set_bit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:38,2'
          Dst:             ebitmap_init
        - Src:             'policydb_validate.c:42,8'
          Dst:             ebitmap_set_bit
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - create_gap_ebitmap
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:53,6'
          Dst:             create_gap_ebitmap
    - functionName:    validate_array_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1788
      functionLinenumberEnd: 1794
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1792,3'
          Dst:             ebitmap_destroy
    - functionName:    validate_attrtype_map
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1699
      functionLinenumberEnd: 1716
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          134
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - validate_ebitmap
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1705,8'
          Dst:             validate_ebitmap
    - functionName:    validate_typeattr_map
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1679
      functionLinenumberEnd: 1696
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          134
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - validate_ebitmap
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1685,8'
          Dst:             validate_ebitmap
    - functionName:    validate_range_transitions
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1667
      functionLinenumberEnd: 1676
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          98
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_map
        - validate_range_transition
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1670,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1670,6'
          Dst:             validate_range_transition
    - functionName:    validate_neveraudit
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1628
      functionLinenumberEnd: 1642
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          137
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - validate_simpletype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1632,2'
          Dst:             ebitmap_start
        - Src:             'policydb_validate.c:1632,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb_validate.c:1633,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:1632,2'
          Dst:             ebitmap_next
    - functionName:    validate_permissives
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1611
      functionLinenumberEnd: 1625
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          137
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - validate_simpletype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1615,2'
          Dst:             ebitmap_start
        - Src:             'policydb_validate.c:1615,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb_validate.c:1616,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:1615,2'
          Dst:             ebitmap_next
    - functionName:    validate_datum_array_entries
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 878
      functionLinenumberEnd: 910
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          205
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - hashtab_map
        - validate_bool_datum_wrapper
        - validate_class_datum_wrapper
        - validate_common_datum_wrapper
        - validate_datum
        - validate_level_datum_wrapper
        - validate_role_datum_wrapper
        - validate_type_datum_wrapper
        - validate_user_datum_wrapper
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:881,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:881,6'
          Dst:             validate_common_datum_wrapper
        - Src:             'policydb_validate.c:884,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:884,6'
          Dst:             validate_class_datum_wrapper
        - Src:             'policydb_validate.c:887,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:887,6'
          Dst:             validate_role_datum_wrapper
        - Src:             'policydb_validate.c:890,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:890,6'
          Dst:             validate_type_datum_wrapper
        - Src:             'policydb_validate.c:893,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:893,6'
          Dst:             validate_user_datum_wrapper
        - Src:             'policydb_validate.c:896,16'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:896,16'
          Dst:             validate_level_datum_wrapper
        - Src:             'policydb_validate.c:899,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:899,6'
          Dst:             validate_datum
        - Src:             'policydb_validate.c:902,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:902,6'
          Dst:             validate_bool_datum_wrapper
    - functionName:    validate_datum_array_gaps
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 867
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          341
      EdgeCount:       66
      CyclomaticComplexity: 17
      functionsReached:
        - ebitmap_get_bit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:832,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb_validate.c:837,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb_validate.c:847,8'
          Dst:             ebitmap_get_bit
        - Src:             'policydb_validate.c:853,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb_validate.c:858,7'
          Dst:             ebitmap_get_bit
    - functionName:    validate_scopes
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          139
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - hashtab_map
        - validate_scope
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:227,7'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:227,7'
          Dst:             validate_scope
    - functionName:    validate_genfs
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1420
      functionLinenumberEnd: 1441
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          164
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - validate_context
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1426,8'
          Dst:             validate_context
        - Src:             'policydb_validate.c:1428,26'
          Dst:             validate_value
    - functionName:    validate_ocontexts
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1338
      functionLinenumberEnd: 1417
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         86
      ICount:          432
      EdgeCount:       106
      CyclomaticComplexity: 22
      functionsReached:
        - validate_context
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1348,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1365,6'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1388,5'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1344,8'
          Dst:             validate_context
        - Src:             'policydb_validate.c:1355,10'
          Dst:             validate_context
    - functionName:    validate_avrule_blocks
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1569
      functionLinenumberEnd: 1608
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          248
      EdgeCount:       56
      CyclomaticComplexity: 14
      functionsReached:
        - validate_avrules
        - validate_cond_list
        - validate_datum_array_entries
        - validate_filename_trans_rules
        - validate_range_trans_rules
        - validate_role_allow_rules
        - validate_role_trans_rules
        - validate_scope_index
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1594,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1574,8'
          Dst:             validate_cond_list
        - Src:             'policydb_validate.c:1576,8'
          Dst:             validate_avrules
        - Src:             'policydb_validate.c:1578,8'
          Dst:             validate_role_trans_rules
        - Src:             'policydb_validate.c:1580,8'
          Dst:             validate_role_allow_rules
        - Src:             'policydb_validate.c:1582,8'
          Dst:             validate_range_trans_rules
        - Src:             'policydb_validate.c:1584,8'
          Dst:             validate_scope_index
        - Src:             'policydb_validate.c:1586,8'
          Dst:             validate_scope_index
        - Src:             'policydb_validate.c:1588,8'
          Dst:             validate_filename_trans_rules
        - Src:             'policydb_validate.c:1590,8'
          Dst:             validate_datum_array_entries
    - functionName:    validate_cond_list
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1209
      functionLinenumberEnd: 1246
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          217
      EdgeCount:       46
      CyclomaticComplexity: 9
      functionsReached:
        - validate_avrules
        - validate_bool_id_array
        - validate_cond_av_list
        - validate_cond_expr
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1224,3'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1232,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1211,7'
          Dst:             validate_cond_expr
        - Src:             'policydb_validate.c:1213,7'
          Dst:             validate_cond_av_list
        - Src:             'policydb_validate.c:1215,7'
          Dst:             validate_cond_av_list
        - Src:             'policydb_validate.c:1217,7'
          Dst:             validate_avrules
        - Src:             'policydb_validate.c:1219,7'
          Dst:             validate_avrules
        - Src:             'policydb_validate.c:1221,7'
          Dst:             validate_bool_id_array
    - functionName:    validate_filename_trans_hashtab
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1321
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          98
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_map
        - validate_filename_trans
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1315,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1315,6'
          Dst:             validate_filename_trans
    - functionName:    validate_role_allows
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1269
      functionLinenumberEnd: 1282
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          116
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1271,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1273,7'
          Dst:             validate_value
    - functionName:    validate_role_transes
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1249
      functionLinenumberEnd: 1266
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          142
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1251,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1253,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1255,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1257,7'
          Dst:             validate_value
    - functionName:    validate_avtab
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1029
      functionLinenumberEnd: 1038
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          98
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - avtab_map
        - validate_avtab_key_and_datum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1032,6'
          Dst:             avtab_map
        - Src:             'policydb_validate.c:1032,6'
          Dst:             validate_avtab_key_and_datum
    - functionName:    validate_policycaps
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1771
      functionLinenumberEnd: 1785
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          132
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - sepol_polcap_getname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1775,2'
          Dst:             ebitmap_start
        - Src:             'policydb_validate.c:1775,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb_validate.c:1776,8'
          Dst:             sepol_polcap_getname
        - Src:             'policydb_validate.c:1775,2'
          Dst:             ebitmap_next
    - functionName:    validate_properties
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1719
      functionLinenumberEnd: 1768
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          246
      EdgeCount:       61
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1720,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1738,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1746,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1754,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    validate_array_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          227
      EdgeCount:       40
      CyclomaticComplexity: 13
      functionsReached:
        - ebitmap_init
        - validate_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:61,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:63,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:65,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:68,7'
          Dst:             validate_init
        - Src:             'policydb_validate.c:77,3'
          Dst:             ebitmap_init
        - Src:             'policydb_validate.c:79,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:81,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:83,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:85,6'
          Dst:             validate_init
    - functionName:    policydb_validate
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1800
      functionLinenumberEnd: 1868
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         60
      ICount:          345
      EdgeCount:       84
      CyclomaticComplexity: 26
      functionsReached:
        - validate_array_destroy
        - validate_array_init
        - validate_attrtype_map
        - validate_avrule_blocks
        - validate_avtab
        - validate_cond_list
        - validate_datum_array_entries
        - validate_datum_array_gaps
        - validate_filename_trans_hashtab
        - validate_genfs
        - validate_neveraudit
        - validate_ocontexts
        - validate_permissives
        - validate_policycaps
        - validate_properties
        - validate_range_transitions
        - validate_role_allows
        - validate_role_transes
        - validate_scopes
        - validate_typeattr_map
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1803,6'
          Dst:             validate_array_init
        - Src:             'policydb_validate.c:1806,6'
          Dst:             validate_properties
        - Src:             'policydb_validate.c:1809,6'
          Dst:             validate_policycaps
        - Src:             'policydb_validate.c:1813,7'
          Dst:             validate_avtab
        - Src:             'policydb_validate.c:1816,8'
          Dst:             validate_cond_list
        - Src:             'policydb_validate.c:1818,7'
          Dst:             validate_role_transes
        - Src:             'policydb_validate.c:1820,7'
          Dst:             validate_role_allows
        - Src:             'policydb_validate.c:1823,8'
          Dst:             validate_filename_trans_hashtab
        - Src:             'policydb_validate.c:1826,7'
          Dst:             validate_avrule_blocks
        - Src:             'policydb_validate.c:1830,6'
          Dst:             validate_ocontexts
        - Src:             'policydb_validate.c:1833,6'
          Dst:             validate_genfs
        - Src:             'policydb_validate.c:1836,6'
          Dst:             validate_scopes
        - Src:             'policydb_validate.c:1839,6'
          Dst:             validate_datum_array_gaps
        - Src:             'policydb_validate.c:1842,6'
          Dst:             validate_datum_array_entries
        - Src:             'policydb_validate.c:1845,6'
          Dst:             validate_permissives
        - Src:             'policydb_validate.c:1848,6'
          Dst:             validate_neveraudit
        - Src:             'policydb_validate.c:1851,6'
          Dst:             validate_range_transitions
        - Src:             'policydb_validate.c:1854,6'
          Dst:             validate_typeattr_map
        - Src:             'policydb_validate.c:1857,6'
          Dst:             validate_attrtype_map
        - Src:             'policydb_validate.c:1860,2'
          Dst:             validate_array_destroy
        - Src:             'policydb_validate.c:1866,2'
          Dst:             validate_array_destroy
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:81,6'
          Dst:             ebitmap_cpy
    - functionName:    mls_range_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - mls_level_cpy
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:125,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:128,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:134,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - mls_level_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:98,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:99,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_range_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:49,6'
          Dst:             mls_range_cpy
    - functionName:    convert_context_handle_invalid_context
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1604
      functionLinenumberEnd: 1616
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - context_to_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1611,3'
          Dst:             context_to_string
    - functionName:    context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_context_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:126,9'
          Dst:             mls_context_cpy
    - functionName:    validate_perm
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1527
      functionLinenumberEnd: 1544
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          133
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - hashtab_search
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1534,31'
          Dst:             hashtab_search
    - functionName:    compute_sid_handle_invalid_context
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1329
      functionLinenumberEnd: 1347
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          105
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - context_to_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1336,3'
          Dst:             context_to_string
        - Src:             'services.c:1337,3'
          Dst:             context_to_string
        - Src:             'services.c:1338,3'
          Dst:             context_to_string
    - functionName:    context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_range_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:142,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:143,2'
          Dst:             mls_level_init
    - functionName:    mls_context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_range_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:42,2'
          Dst:             mls_range_init
    - functionName:    mls_range_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:148,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:149,2'
          Dst:             mls_level_destroy
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_init
        - mls_range_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:112,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:113,2'
          Dst:             mls_context_init
    - functionName:    type_attribute_bounds_av
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 857
      functionLinenumberEnd: 901
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          137
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - context_struct_compute_av
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:882,2'
          Dst:             context_struct_compute_av
    - functionName:    context_struct_compute_av
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 915
      functionLinenumberEnd: 1027
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         96
      ICount:          647
      EdgeCount:       126
      CyclomaticComplexity: 32
      functionsReached:
        - avtab_search_node
        - avtab_search_node_next
        - cond_compute_av
        - constraint_expr_eval_reason
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - type_attribute_bounds_av
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:950,2'
          Dst:             ebitmap_start
        - Src:             'services.c:950,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'services.c:951,3'
          Dst:             ebitmap_start
        - Src:             'services.c:951,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'services.c:955,9'
          Dst:             avtab_search_node
        - Src:             'services.c:958,9'
          Dst:             avtab_search_node_next
        - Src:             'services.c:969,4'
          Dst:             cond_compute_av
        - Src:             'services.c:951,3'
          Dst:             ebitmap_next
        - Src:             'services.c:950,2'
          Dst:             ebitmap_next
        - Src:             'services.c:987,8'
          Dst:             constraint_expr_eval_reason
        - Src:             'services.c:1024,2'
          Dst:             type_attribute_bounds_av
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    constraint_expr_eval_reason
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 839
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         253
      ICount:          2129
      EdgeCount:       302
      CyclomaticComplexity: 51
      functionsReached:
        - calloc
        - cat_expr_buf
        - ebitmap_get_bit
        - get_class_info
        - get_name_list
        - mls_level_dom
        - mls_level_eq
        - msgcat
        - pop
        - push
        - realloc
        - reallocarray
        - snprintf
        - sprintf
        - strdup
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   'services.c:479,3'
          Branch Sides:    []
        - Branch String:   'services.c:513,4'
          Branch Sides:    []
        - Branch String:   'services.c:534,5'
          Branch Sides:    []
        - Branch String:   'services.c:591,5'
          Branch Sides:    []
        - Branch String:   'services.c:627,4'
          Branch Sides:    []
        - Branch String:   'services.c:677,4'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:434,14'
          Dst:             get_class_info
        - Src:             'services.c:454,20'
          Dst:             reallocarray
        - Src:             'services.c:487,4'
          Dst:             cat_expr_buf
        - Src:             'services.c:497,4'
          Dst:             cat_expr_buf
        - Src:             'services.c:507,4'
          Dst:             cat_expr_buf
        - Src:             'services.c:517,22'
          Dst:             strdup
        - Src:             'services.c:518,22'
          Dst:             strdup
        - Src:             'services.c:523,22'
          Dst:             strdup
        - Src:             'services.c:524,22'
          Dst:             strdup
        - Src:             'services.c:531,22'
          Dst:             strdup
        - Src:             'services.c:532,22'
          Dst:             strdup
        - Src:             'services.c:536,16'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:537,6'
          Dst:             msgcat
        - Src:             'services.c:541,16'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:542,6'
          Dst:             msgcat
        - Src:             'services.c:546,18'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:547,12'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:548,6'
          Dst:             msgcat
        - Src:             'services.c:558,22'
          Dst:             strdup
        - Src:             'services.c:559,22'
          Dst:             strdup
        - Src:             'services.c:564,22'
          Dst:             strdup
        - Src:             'services.c:565,22'
          Dst:             strdup
        - Src:             'services.c:570,22'
          Dst:             strdup
        - Src:             'services.c:571,22'
          Dst:             strdup
        - Src:             'services.c:576,22'
          Dst:             strdup
        - Src:             'services.c:577,22'
          Dst:             strdup
        - Src:             'services.c:582,22'
          Dst:             strdup
        - Src:             'services.c:583,22'
          Dst:             strdup
        - Src:             'services.c:588,22'
          Dst:             strdup
        - Src:             'services.c:589,22'
          Dst:             strdup
        - Src:             'services.c:593,16'
          Dst:             mls_level_eq
        - Src:             'services.c:594,6'
          Dst:             msgcat
        - Src:             'services.c:598,17'
          Dst:             mls_level_eq
        - Src:             'services.c:599,6'
          Dst:             msgcat
        - Src:             'services.c:603,16'
          Dst:             mls_level_dom
        - Src:             'services.c:604,6'
          Dst:             msgcat
        - Src:             'services.c:608,16'
          Dst:             mls_level_dom
        - Src:             'services.c:609,6'
          Dst:             msgcat
        - Src:             'services.c:613,16'
          Dst:             mls_level_dom
        - Src:             'services.c:613,16'
          Dst:             mls_level_dom
        - Src:             'services.c:614,6'
          Dst:             msgcat
        - Src:             'services.c:630,5'
          Dst:             msgcat
        - Src:             'services.c:634,5'
          Dst:             msgcat
        - Src:             'services.c:660,5'
          Dst:             snprintf
        - Src:             'services.c:661,22'
          Dst:             strdup
        - Src:             'services.c:665,5'
          Dst:             snprintf
        - Src:             'services.c:666,22'
          Dst:             strdup
        - Src:             'services.c:670,5'
          Dst:             snprintf
        - Src:             'services.c:671,22'
          Dst:             strdup
        - Src:             'services.c:679,15'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:680,5'
          Dst:             get_name_list
        - Src:             'services.c:684,16'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:685,5'
          Dst:             get_name_list
        - Src:             'services.c:717,16'
          Dst:             calloc
        - Src:             'services.c:726,7'
          Dst:             strncmp
        - Src:             'services.c:726,47'
          Dst:             strncmp
        - Src:             'services.c:728,8'
          Dst:             pop
        - Src:             'services.c:729,12'
          Dst:             strlen
        - Src:             'services.c:730,8'
          Dst:             pop
        - Src:             'services.c:731,12'
          Dst:             strlen
        - Src:             'services.c:742,4'
          Dst:             sprintf
        - Src:             'services.c:744,4'
          Dst:             push
        - Src:             'services.c:748,14'
          Dst:             strncmp
        - Src:             'services.c:749,8'
          Dst:             pop
        - Src:             'services.c:750,12'
          Dst:             strlen
        - Src:             'services.c:760,8'
          Dst:             strncmp
        - Src:             'services.c:761,5'
          Dst:             sprintf
        - Src:             'services.c:764,5'
          Dst:             sprintf
        - Src:             'services.c:766,4'
          Dst:             push
        - Src:             'services.c:770,4'
          Dst:             push
        - Src:             'services.c:774,6'
          Dst:             pop
        - Src:             'services.c:778,2'
          Dst:             sprintf
        - Src:             'services.c:803,11'
          Dst:             snprintf
        - Src:             'services.c:807,22'
          Dst:             realloc
    - functionName:    get_class_info
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          268
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - realloc
        - sepol_av_to_string
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:323,19'
          Dst:             realloc
        - Src:             'services.c:334,9'
          Dst:             snprintf
        - Src:             'services.c:341,9'
          Dst:             snprintf
        - Src:             'services.c:350,20'
          Dst:             sepol_av_to_string
        - Src:             'services.c:352,10'
          Dst:             snprintf
        - Src:             'services.c:356,10'
          Dst:             snprintf
    - functionName:    cat_expr_buf
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          126
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - realloc
        - snprintf
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:182,9'
          Dst:             snprintf
        - Src:             'services.c:185,14'
          Dst:             realloc
    - functionName:    msgcat
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cat_expr_buf
        - snprintf
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:278,3'
          Dst:             snprintf
        - Src:             'services.c:281,3'
          Dst:             snprintf
        - Src:             'services.c:283,2'
          Dst:             cat_expr_buf
    - functionName:    mls_level_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:104,36'
          Dst:             ebitmap_cmp
    - functionName:    mls_level_dom
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_contains
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:109,36'
          Dst:             ebitmap_contains
    - functionName:    get_name_list
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          352
      EdgeCount:       71
      CyclomaticComplexity: 17
      functionsReached:
        - cat_expr_buf
        - ebitmap_get_bit
        - snprintf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'services.c:247,4'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:227,8'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:233,2'
          Dst:             snprintf
        - Src:             'services.c:234,2'
          Dst:             cat_expr_buf
        - Src:             'services.c:237,3'
          Dst:             cat_expr_buf
        - Src:             'services.c:239,3'
          Dst:             cat_expr_buf
        - Src:             'services.c:242,9'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:249,5'
          Dst:             snprintf
        - Src:             'services.c:253,5'
          Dst:             snprintf
        - Src:             'services.c:257,5'
          Dst:             snprintf
        - Src:             'services.c:261,4'
          Dst:             cat_expr_buf
        - Src:             'services.c:265,3'
          Dst:             cat_expr_buf
        - Src:             'services.c:267,3'
          Dst:             cat_expr_buf
        - Src:             'services.c:269,3'
          Dst:             cat_expr_buf
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pop
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          72
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    push
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          106
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - reallocarray
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:97,15'
          Dst:             reallocarray
    - functionName:    sepol_fs_use
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2304
      functionLinenumberEnd: 2336
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          126
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - sepol_genfs_sid
        - sepol_sidtab_context_to_sid
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:2310,7'
          Dst:             strcmp
        - Src:             'services.c:2318,9'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:2326,8'
          Dst:             sepol_genfs_sid
    - functionName:    sepol_genfs_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2299
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          199
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - sepol_sidtab_context_to_sid
        - strcmp
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:2266,9'
          Dst:             strcmp
        - Src:             'services.c:2278,9'
          Dst:             strlen
        - Src:             'services.c:2280,8'
          Dst:             strncmp
        - Src:             'services.c:2291,8'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_get_user_sids
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2169
      functionLinenumberEnd: 2247
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          336
      EdgeCount:       62
      CyclomaticComplexity: 18
      functionsReached:
        - calloc
        - context_struct_compute_av
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - hashtab_search
        - mls_setup_user_range
        - sepol_sidtab_context_to_sid
        - sepol_sidtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:2180,12'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:2186,26'
          Dst:             hashtab_search
        - Src:             'services.c:2194,11'
          Dst:             calloc
        - Src:             'services.c:2200,2'
          Dst:             ebitmap_start
        - Src:             'services.c:2200,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'services.c:2203,3'
          Dst:             ebitmap_start
        - Src:             'services.c:2203,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'services.c:2208,8'
          Dst:             mls_setup_user_range
        - Src:             'services.c:2212,9'
          Dst:             context_struct_compute_av
        - Src:             'services.c:2218,9'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:2228,15'
          Dst:             calloc
        - Src:             'services.c:2203,3'
          Dst:             ebitmap_next
        - Src:             'services.c:2200,2'
          Dst:             ebitmap_next
    - functionName:    match_ipv6_addrmask
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2075
      functionLinenumberEnd: 2084
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_node_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2096
      functionLinenumberEnd: 2154
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - short
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          181
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - match_ipv6_addrmask
        - sepol_sidtab_context_to_sid
      functionUses:    0
      BranchProfiles:
        - Branch String:   'services.c:2100,2'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:2128,8'
          Dst:             match_ipv6_addrmask
        - Src:             'services.c:2142,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_netif_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2038
      functionLinenumberEnd: 2070
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          142
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - sepol_sidtab_context_to_sid
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:2044,7'
          Dst:             strcmp
        - Src:             'services.c:2051,9'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:2056,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_port_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1999
      functionLinenumberEnd: 2025
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - short
        - short
        - char
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          138
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - sepol_sidtab_context_to_sid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:2013,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_ibendport_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1961
      functionLinenumberEnd: 1987
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          119
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - sepol_sidtab_context_to_sid
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1968,8'
          Dst:             strcmp
        - Src:             'services.c:1975,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_ibpkey_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1924
      functionLinenumberEnd: 1951
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          132
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - sepol_sidtab_context_to_sid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1939,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_fs_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1883
      functionLinenumberEnd: 1915
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          142
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - sepol_sidtab_context_to_sid
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1889,7'
          Dst:             strcmp
        - Src:             'services.c:1896,9'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:1901,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    convert_context
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1632
      functionLinenumberEnd: 1696
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          242
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - context_cpy
        - context_destroy
        - context_to_string
        - convert_context_handle_invalid_context
        - hashtab_search
        - mls_convert_context
        - policydb_context_isvalid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1644,6'
          Dst:             context_cpy
        - Src:             'services.c:1648,30'
          Dst:             hashtab_search
        - Src:             'services.c:1659,26'
          Dst:             hashtab_search
        - Src:             'services.c:1669,6'
          Dst:             hashtab_search
        - Src:             'services.c:1676,7'
          Dst:             mls_convert_context
        - Src:             'services.c:1681,7'
          Dst:             policydb_context_isvalid
        - Src:             'services.c:1682,8'
          Dst:             convert_context_handle_invalid_context
        - Src:             'services.c:1687,2'
          Dst:             context_destroy
        - Src:             'services.c:1691,2'
          Dst:             context_to_string
        - Src:             'services.c:1692,2'
          Dst:             context_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_destroy
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:135,2'
          Dst:             mls_context_destroy
    - functionName:    clone_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1596
      functionLinenumberEnd: 1599
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_sidtab_insert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1599,9'
          Dst:             sepol_sidtab_insert
    - functionName:    validate_class
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1552
      functionLinenumberEnd: 1591
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          348
      EdgeCount:       65
      CyclomaticComplexity: 16
      functionsReached:
        - hashtab_map
        - hashtab_search
        - validate_perm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1560,24'
          Dst:             hashtab_search
        - Src:             'services.c:1576,7'
          Dst:             hashtab_map
        - Src:             'services.c:1576,7'
          Dst:             validate_perm
        - Src:             'services.c:1585,6'
          Dst:             hashtab_map
        - Src:             'services.c:1585,6'
          Dst:             validate_perm
    - functionName:    sepol_load_policy
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1808
      functionLinenumberEnd: 1871
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          145
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - clone_sid
        - convert_context
        - hashtab_map
        - policy_file_init
        - policydb_destroy
        - policydb_init
        - policydb_read
        - sepol_sidtab_destroy
        - sepol_sidtab_init
        - sepol_sidtab_map
        - sepol_sidtab_map_remove_on_error
        - sepol_sidtab_set
        - sepol_sidtab_shutdown
        - validate_class
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1815,2'
          Dst:             policy_file_init
        - Src:             'services.c:1821,6'
          Dst:             policydb_init
        - Src:             'services.c:1824,6'
          Dst:             policydb_read
        - Src:             'services.c:1825,3'
          Dst:             policydb_destroy
        - Src:             'services.c:1829,2'
          Dst:             sepol_sidtab_init
        - Src:             'services.c:1832,6'
          Dst:             hashtab_map
        - Src:             'services.c:1832,6'
          Dst:             validate_class
        - Src:             'services.c:1840,2'
          Dst:             sepol_sidtab_shutdown
        - Src:             'services.c:1841,6'
          Dst:             sepol_sidtab_map
        - Src:             'services.c:1841,6'
          Dst:             clone_sid
        - Src:             'services.c:1850,2'
          Dst:             sepol_sidtab_map_remove_on_error
        - Src:             'services.c:1850,2'
          Dst:             convert_context
        - Src:             'services.c:1854,2'
          Dst:             sepol_sidtab_set
        - Src:             'services.c:1858,2'
          Dst:             sepol_sidtab_set
        - Src:             'services.c:1861,2'
          Dst:             policydb_destroy
        - Src:             'services.c:1862,2'
          Dst:             sepol_sidtab_destroy
        - Src:             'services.c:1867,2'
          Dst:             sepol_sidtab_destroy
        - Src:             'services.c:1868,2'
          Dst:             policydb_destroy
    - functionName:    exceeds_available_bytes
      functionSourceFile: '/src/selinux/libsepol/src/./private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_read
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1765
      functionLinenumberEnd: 1788
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          90
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - exceeds_available_bytes
        - next_entry
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1769,32'
          Dst:             exceeds_available_bytes
        - Src:             'services.c:1770,3'
          Dst:             __errno_location
        - Src:             'services.c:1782,7'
          Dst:             next_entry
    - functionName:    next_entry
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1700
      functionLinenumberEnd: 1724
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          91
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - fread
      functionUses:    116
      BranchProfiles:
        - Branch String:   'services.c:1703,2'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:1705,11'
          Dst:             fread
        - Src:             'services.c:1712,4'
          Dst:             __errno_location
        - Src:             'services.c:1720,3'
          Dst:             __errno_location
    - functionName:    put_entry
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1728
      functionLinenumberEnd: 1754
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          107
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - fwrite
      functionUses:    134
      BranchProfiles:
        - Branch String:   'services.c:1734,2'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:1736,10'
          Dst:             fwrite
        - Src:             'services.c:1739,4'
          Dst:             __errno_location
    - functionName:    sepol_change_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1517
      functionLinenumberEnd: 1518
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_compute_sid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1518,9'
          Dst:             sepol_compute_sid
    - functionName:    sepol_compute_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1353
      functionLinenumberEnd: 1482
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         101
      ICount:          607
      EdgeCount:       130
      CyclomaticComplexity: 31
      functionsReached:
        - avtab_search
        - avtab_search_node
        - avtab_search_node_next
        - compute_sid_handle_invalid_context
        - context_destroy
        - context_init
        - mls_compute_sid
        - policydb_context_isvalid
        - sepol_sidtab_context_to_sid
        - sepol_sidtab_search
      functionUses:    3
      BranchProfiles:
        - Branch String:   'services.c:1379,2'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:1362,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1367,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1376,2'
          Dst:             context_init
        - Src:             'services.c:1428,12'
          Dst:             avtab_search
        - Src:             'services.c:1432,10'
          Dst:             avtab_search_node
        - Src:             'services.c:1434,15'
          Dst:             avtab_search_node_next
        - Src:             'services.c:1464,7'
          Dst:             mls_compute_sid
        - Src:             'services.c:1470,7'
          Dst:             policydb_context_isvalid
        - Src:             'services.c:1471,8'
          Dst:             compute_sid_handle_invalid_context
        - Src:             'services.c:1478,7'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:1480,2'
          Dst:             context_destroy
    - functionName:    sepol_member_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1505
      functionLinenumberEnd: 1506
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_compute_sid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1506,9'
          Dst:             sepol_compute_sid
    - functionName:    sepol_transition_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1492
      functionLinenumberEnd: 1493
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_compute_sid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1493,9'
          Dst:             sepol_compute_sid
    - functionName:    sepol_context_to_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1295
      functionLinenumberEnd: 1319
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          117
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - context_destroy
        - context_from_string
        - sepol_sidtab_context_to_sid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1300,6'
          Dst:             context_from_string
        - Src:             'services.c:1305,14'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:1308,2'
          Dst:             context_destroy
        - Src:             'services.c:1314,3'
          Dst:             context_destroy
    - functionName:    sepol_sid_to_context
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1273
      functionLinenumberEnd: 1285
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          80
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - context_to_string
        - sepol_sidtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1277,12'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1283,7'
          Dst:             context_to_string
    - functionName:    sepol_av_perm_to_string
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1241
      functionLinenumberEnd: 1260
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sepol_av_to_string
        - sprintf
        - strcpy
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1243,16'
          Dst:             sepol_av_to_string
        - Src:             'services.c:1249,9'
          Dst:             strlen
        - Src:             'services.c:1251,4'
          Dst:             strcpy
        - Src:             'services.c:1253,4'
          Dst:             sprintf
        - Src:             'services.c:1257,3'
          Dst:             sprintf
    - functionName:    sepol_string_to_av_perm
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1204
      functionLinenumberEnd: 1237
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          199
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - hashtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1216,4'
          Dst:             hashtab_search
        - Src:             'services.c:1227,4'
          Dst:             hashtab_search
    - functionName:    sepol_string_to_security_class
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1184
      functionLinenumberEnd: 1195
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          83
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - hashtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1187,17'
          Dst:             hashtab_search
    - functionName:    sepol_compute_av
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1174
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sepol_compute_av_reason
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1174,9'
          Dst:             sepol_compute_av_reason
    - functionName:    sepol_compute_av_reason
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1097
      functionLinenumberEnd: 1117
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - int
        - short
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          140
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - context_struct_compute_av
        - sepol_sidtab_search
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1101,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1107,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1114,7'
          Dst:             context_struct_compute_av
    - functionName:    sepol_compute_av_reason_buffer
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1133
      functionLinenumberEnd: 1164
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - int
        - short
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          150
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - context_struct_compute_av
        - sepol_sidtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1137,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1143,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1161,7'
          Dst:             context_struct_compute_av
    - functionName:    sepol_validate_transition_reason_buffer
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1039
      functionLinenumberEnd: 1089
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - int
        - int
        - short
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          292
      EdgeCount:       51
      CyclomaticComplexity: 13
      functionsReached:
        - constraint_expr_eval_reason
        - sepol_sidtab_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1052,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1058,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1064,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1082,8'
          Dst:             constraint_expr_eval_reason
    - functionName:    sepol_set_policydb_from_file
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          134
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - policy_file_init
        - policydb_destroy
        - policydb_init
        - policydb_read
        - sepol_sidtab_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:137,2'
          Dst:             policy_file_init
        - Src:             'services.c:141,3'
          Dst:             policydb_destroy
        - Src:             'services.c:142,6'
          Dst:             policydb_init
        - Src:             'services.c:146,6'
          Dst:             policydb_read
        - Src:             'services.c:147,3'
          Dst:             policydb_destroy
        - Src:             'services.c:152,9'
          Dst:             sepol_sidtab_init
    - functionName:    sepol_set_policydb
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_set_sidtab
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_level_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:104,36'
          Dst:             ebitmap_cmp
    - functionName:    mls_context_cmp
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_level_eq
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:102,10'
          Dst:             mls_level_eq
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:103,3'
          Dst:             mls_level_eq
    - functionName:    context_cmp
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - mls_context_cmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:142,29'
          Dst:             mls_context_cmp
    - functionName:    mls_range_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:142,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:143,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mls_context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_range_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:42,2'
          Dst:             mls_range_init
    - functionName:    mls_range_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:148,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:149,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_destroy
        - mls_level_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:98,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:99,2'
          Dst:             mls_level_init
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_init
        - mls_range_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:112,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:113,2'
          Dst:             mls_context_init
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:81,6'
          Dst:             ebitmap_cpy
    - functionName:    mls_range_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - mls_level_cpy
        - mls_level_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:125,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:128,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:134,2'
          Dst:             mls_level_destroy
    - functionName:    mls_context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_range_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:49,6'
          Dst:             mls_range_cpy
    - functionName:    sepol_sidtab_shutdown
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_sidtab_set
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          29
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_sidtab_destroy
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          98
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - context_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sidtab.c:266,4'
          Dst:             context_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_context_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:135,2'
          Dst:             mls_context_destroy
    - functionName:    sepol_sidtab_hash_eval
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          96
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - printf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sidtab.c:248,2'
          Dst:             printf
    - functionName:    sepol_sidtab_search_context
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - context_cmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sidtab.c:182,8'
          Dst:             context_cmp
    - functionName:    sepol_sidtab_context_to_sid
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          119
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - sepol_sidtab_insert
        - sepol_sidtab_search_context
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'sidtab.c:199,8'
          Dst:             sepol_sidtab_search_context
        - Src:             'sidtab.c:203,9'
          Dst:             sepol_sidtab_search_context
        - Src:             'sidtab.c:212,9'
          Dst:             sepol_sidtab_insert
    - functionName:    sepol_sidtab_insert
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          202
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - context_cpy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sidtab.c:57,3'
          Dst:             __errno_location
        - Src:             'sidtab.c:65,6'
          Dst:             context_cpy
    - functionName:    context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mls_context_cpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:126,9'
          Dst:             mls_context_cpy
    - functionName:    sepol_sidtab_map_remove_on_error
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          140
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - context_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sidtab.c:159,5'
          Dst:             context_destroy
    - functionName:    sepol_sidtab_map
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_sidtab_search
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          159
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_sidtab_init
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sidtab.c:29,14'
          Dst:             calloc
    - functionName:    symtab_destroy
      functionSourceFile: '/src/selinux/libsepol/src/symtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          38
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - hashtab_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'symtab.c:50,3'
          Dst:             hashtab_destroy
    - functionName:    symcmp
      functionSourceFile: '/src/selinux/libsepol/src/symtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 33
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'symtab.c:33,9'
          Dst:             strcmp
    - functionName:    symhash
      functionSourceFile: '/src/selinux/libsepol/src/symtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 19
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          40
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    symtab_init
      functionSourceFile: '/src/selinux/libsepol/src/symtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hashtab_create
        - symcmp
        - symhash
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'symtab.c:38,13'
          Dst:             hashtab_create
        - Src:             'symtab.c:38,13'
          Dst:             symhash
        - Src:             'symtab.c:38,13'
          Dst:             symcmp
    - functionName:    tokenize_str
      functionSourceFile: '/src/selinux/libsepol/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - char
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          229
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - __ctype_b_loc
        - strndup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:243,7'
          Dst:             __ctype_b_loc
        - Src:             'util.c:243,25'
          Dst:             __ctype_b_loc
        - Src:             'util.c:246,15'
          Dst:             __ctype_b_loc
        - Src:             'util.c:262,9'
          Dst:             strndup
        - Src:             'util.c:268,26'
          Dst:             __ctype_b_loc
        - Src:             'util.c:268,44'
          Dst:             __ctype_b_loc
    - functionName:    strndup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tokenize
      functionSourceFile: '/src/selinux/libsepol/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          125
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - strdup
        - tokenize_str
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:307,11'
          Dst:             strdup
        - Src:             'util.c:315,8'
          Dst:             tokenize_str
    - functionName:    sepol_extended_perms_to_string
      functionSourceFile: '/src/selinux/libsepol/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         73
      ICount:          468
      EdgeCount:       99
      CyclomaticComplexity: 28
      functionsReached:
        - realloc
        - snprintf
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:156,6'
          Dst:             realloc
        - Src:             'util.c:164,9'
          Dst:             snprintf
        - Src:             'util.c:166,9'
          Dst:             snprintf
        - Src:             'util.c:192,11'
          Dst:             snprintf
        - Src:             'util.c:194,11'
          Dst:             snprintf
        - Src:             'util.c:200,11'
          Dst:             snprintf
        - Src:             'util.c:202,11'
          Dst:             snprintf
        - Src:             'util.c:218,8'
          Dst:             snprintf
    - functionName:    perm_name
      functionSourceFile: '/src/selinux/libsepol/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          42
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_av_to_string
      functionSourceFile: '/src/selinux/libsepol/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          198
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - hashtab_map
        - perm_name
        - realloc
        - snprintf
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:99,6'
          Dst:             realloc
        - Src:             'util.c:109,9'
          Dst:             hashtab_map
        - Src:             'util.c:109,9'
          Dst:             perm_name
        - Src:             'util.c:112,10'
          Dst:             hashtab_map
        - Src:             'util.c:112,10'
          Dst:             perm_name
        - Src:             'util.c:117,11'
          Dst:             snprintf
    - functionName:    add_i_to_a
      functionSourceFile: '/src/selinux/libsepol/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          96
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - reallocarray
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:55,22'
          Dst:             reallocarray
    - functionName:    range_write_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1702
      functionLinenumberEnd: 1739
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          205
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - mls_write_range_helper
        - put_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1725,10'
          Dst:             put_entry
        - Src:             'write.c:1730,11'
          Dst:             put_entry
        - Src:             'write.c:1734,7'
          Dst:             mls_write_range_helper
    - functionName:    mls_write_range_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 456
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          124
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_write
        - mls_level_eq
        - put_entry
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:437,7'
          Dst:             mls_level_eq
        - Src:             'write.c:445,11'
          Dst:             put_entry
        - Src:             'write.c:449,6'
          Dst:             ebitmap_write
        - Src:             'write.c:452,7'
          Dst:             ebitmap_write
    - functionName:    mls_level_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ebitmap_cmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:104,36'
          Dst:             ebitmap_cmp
    - functionName:    ebitmap_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          121
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - put_entry
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:77,10'
          Dst:             put_entry
        - Src:             'write.c:83,11'
          Dst:             put_entry
        - Src:             'write.c:87,11'
          Dst:             put_entry
    - functionName:    rangetrans_count
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1688
      functionLinenumberEnd: 1698
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    context_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 902
      functionLinenumberEnd: 921
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          128
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - mls_write_range_helper
        - put_entry
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:910,11'
          Dst:             put_entry
        - Src:             'write.c:917,7'
          Dst:             mls_write_range_helper
    - functionName:    ocontext_write_xen
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1377
      functionLinenumberEnd: 1481
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         94
      ICount:          629
      EdgeCount:       123
      CyclomaticComplexity: 31
      functionsReached:
        - context_write
        - put_entry
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'write.c:1398,4'
          Branch Sides:    []
      Callsites:
        - Src:             'write.c:1394,11'
          Dst:             put_entry
        - Src:             'write.c:1403,13'
          Dst:             put_entry
        - Src:             'write.c:1406,9'
          Dst:             context_write
        - Src:             'write.c:1411,13'
          Dst:             put_entry
        - Src:             'write.c:1414,9'
          Dst:             context_write
        - Src:             'write.c:1422,13'
          Dst:             put_entry
        - Src:             'write.c:1425,9'
          Dst:             context_write
        - Src:             'write.c:1435,14'
          Dst:             put_entry
        - Src:             'write.c:1450,14'
          Dst:             put_entry
        - Src:             'write.c:1454,9'
          Dst:             context_write
        - Src:             'write.c:1459,13'
          Dst:             put_entry
        - Src:             'write.c:1462,9'
          Dst:             context_write
        - Src:             'write.c:1466,11'
          Dst:             strlen
        - Src:             'write.c:1468,13'
          Dst:             put_entry
        - Src:             'write.c:1471,13'
          Dst:             put_entry
        - Src:             'write.c:1474,9'
          Dst:             context_write
    - functionName:    ocontext_write_selinux
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1485
      functionLinenumberEnd: 1611
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         97
      ICount:          696
      EdgeCount:       128
      CyclomaticComplexity: 33
      functionsReached:
        - context_write
        - put_entry
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'write.c:1506,4'
          Branch Sides:    []
      Callsites:
        - Src:             'write.c:1502,11'
          Dst:             put_entry
        - Src:             'write.c:1511,13'
          Dst:             put_entry
        - Src:             'write.c:1514,9'
          Dst:             context_write
        - Src:             'write.c:1519,11'
          Dst:             strlen
        - Src:             'write.c:1521,13'
          Dst:             put_entry
        - Src:             'write.c:1524,13'
          Dst:             put_entry
        - Src:             'write.c:1527,9'
          Dst:             context_write
        - Src:             'write.c:1529,9'
          Dst:             context_write
        - Src:             'write.c:1540,13'
          Dst:             put_entry
        - Src:             'write.c:1544,9'
          Dst:             context_write
        - Src:             'write.c:1548,11'
          Dst:             strlen
        - Src:             'write.c:1551,13'
          Dst:             put_entry
        - Src:             'write.c:1554,13'
          Dst:             put_entry
        - Src:             'write.c:1558,9'
          Dst:             context_write
        - Src:             'write.c:1568,13'
          Dst:             put_entry
        - Src:             'write.c:1571,9'
          Dst:             context_write
        - Src:             'write.c:1577,13'
          Dst:             put_entry
        - Src:             'write.c:1580,9'
          Dst:             context_write
        - Src:             'write.c:1585,11'
          Dst:             strlen
        - Src:             'write.c:1587,13'
          Dst:             put_entry
        - Src:             'write.c:1590,13'
          Dst:             put_entry
        - Src:             'write.c:1593,9'
          Dst:             context_write
        - Src:             'write.c:1601,13'
          Dst:             put_entry
        - Src:             'write.c:1604,9'
          Dst:             context_write
    - functionName:    only_process
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1895
      functionLinenumberEnd: 1909
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1904,2'
          Dst:             ebitmap_start
        - Src:             'write.c:1904,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'write.c:1904,2'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    scope_index_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2058
      functionLinenumberEnd: 2076
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - ebitmap_write
        - put_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:2062,7'
          Dst:             ebitmap_write
        - Src:             'write.c:2067,6'
          Dst:             put_entry
        - Src:             'write.c:2071,7'
          Dst:             ebitmap_write
    - functionName:    range_trans_rule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2030
      functionLinenumberEnd: 2053
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          124
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - ebitmap_write
        - mls_write_semantic_range_helper
        - put_entry
        - type_set_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:2039,10'
          Dst:             put_entry
        - Src:             'write.c:2043,7'
          Dst:             type_set_write
        - Src:             'write.c:2045,7'
          Dst:             type_set_write
        - Src:             'write.c:2047,7'
          Dst:             ebitmap_write
        - Src:             'write.c:2049,7'
          Dst:             mls_write_semantic_range_helper
    - functionName:    type_set_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 724
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - ebitmap_write
        - put_entry
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:713,6'
          Dst:             ebitmap_write
        - Src:             'write.c:715,6'
          Dst:             ebitmap_write
        - Src:             'write.c:719,10'
          Dst:             put_entry
    - functionName:    mls_write_semantic_range_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mls_write_semantic_level_helper
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:398,7'
          Dst:             mls_write_semantic_level_helper
        - Src:             'write.c:402,7'
          Dst:             mls_write_semantic_level_helper
    - functionName:    mls_write_semantic_level_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 387
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          108
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - put_entry
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:374,10'
          Dst:             put_entry
        - Src:             'write.c:381,11'
          Dst:             put_entry
    - functionName:    filename_trans_rule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1977
      functionLinenumberEnd: 2026
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          254
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - put_entry
        - strlen
        - type_set_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1987,10'
          Dst:             put_entry
        - Src:             'write.c:1992,9'
          Dst:             strlen
        - Src:             'write.c:1994,11'
          Dst:             put_entry
        - Src:             'write.c:1998,11'
          Dst:             put_entry
        - Src:             'write.c:2002,7'
          Dst:             type_set_write
        - Src:             'write.c:2004,7'
          Dst:             type_set_write
        - Src:             'write.c:2021,11'
          Dst:             put_entry
    - functionName:    role_allow_rule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1954
      functionLinenumberEnd: 1973
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          100
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - put_entry
        - role_set_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1963,10'
          Dst:             put_entry
        - Src:             'write.c:1967,7'
          Dst:             role_set_write
        - Src:             'write.c:1969,7'
          Dst:             role_set_write
    - functionName:    role_set_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 706
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_write
        - put_entry
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:697,6'
          Dst:             ebitmap_write
        - Src:             'write.c:701,10'
          Dst:             put_entry
    - functionName:    role_trans_rule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1913
      functionLinenumberEnd: 1951
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          261
      EdgeCount:       62
      CyclomaticComplexity: 17
      functionsReached:
        - ebitmap_write
        - only_process
        - put_entry
        - role_set_write
        - type_set_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1922,19'
          Dst:             only_process
        - Src:             'write.c:1926,10'
          Dst:             put_entry
        - Src:             'write.c:1930,21'
          Dst:             only_process
        - Src:             'write.c:1938,7'
          Dst:             role_set_write
        - Src:             'write.c:1940,7'
          Dst:             type_set_write
        - Src:             'write.c:1943,8'
          Dst:             ebitmap_write
        - Src:             'write.c:1946,11'
          Dst:             put_entry
    - functionName:    avrule_decl_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2080
      functionLinenumberEnd: 2121
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          256
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - avrule_write_list
        - cond_write_list
        - filename_trans_rule_write
        - hashtab_map
        - put_entry
        - range_trans_rule_write
        - role_allow_rule_write
        - role_trans_rule_write
        - scope_index_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:2086,6'
          Dst:             put_entry
        - Src:             'write.c:2089,6'
          Dst:             cond_write_list
        - Src:             'write.c:2090,6'
          Dst:             avrule_write_list
        - Src:             'write.c:2091,6'
          Dst:             role_trans_rule_write
        - Src:             'write.c:2092,6'
          Dst:             role_allow_rule_write
        - Src:             'write.c:2097,6'
          Dst:             filename_trans_rule_write
        - Src:             'write.c:2101,6'
          Dst:             range_trans_rule_write
        - Src:             'write.c:2104,6'
          Dst:             scope_index_write
        - Src:             'write.c:2105,6'
          Dst:             scope_index_write
        - Src:             'write.c:2113,7'
          Dst:             put_entry
        - Src:             'write.c:2116,7'
          Dst:             hashtab_map
    - functionName:    cond_write_list
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 876
      functionLinenumberEnd: 894
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          91
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - cond_write_node
        - put_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:885,10'
          Dst:             put_entry
        - Src:             'write.c:890,7'
          Dst:             cond_write_node
    - functionName:    avrule_write_list
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1869
      functionLinenumberEnd: 1892
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          87
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - avrule_write
        - put_entry
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1881,6'
          Dst:             put_entry
        - Src:             'write.c:1886,7'
          Dst:             avrule_write
    - functionName:    common_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 955
      functionLinenumberEnd: 982
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          123
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_map
        - perm_write
        - put_entry
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:964,8'
          Dst:             strlen
        - Src:             'write.c:970,11'
          Dst:             put_entry
        - Src:             'write.c:974,10'
          Dst:             put_entry
        - Src:             'write.c:978,6'
          Dst:             hashtab_map
        - Src:             'write.c:978,6'
          Dst:             perm_write
    - functionName:    class_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1036
      functionLinenumberEnd: 1138
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         93
      ICount:          645
      EdgeCount:       126
      CyclomaticComplexity: 35
      functionsReached:
        - hashtab_map
        - perm_write
        - put_entry
        - strlen
        - write_cons_helper
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1047,8'
          Dst:             strlen
        - Src:             'write.c:1049,10'
          Dst:             strlen
        - Src:             'write.c:1068,11'
          Dst:             put_entry
        - Src:             'write.c:1072,10'
          Dst:             put_entry
        - Src:             'write.c:1077,11'
          Dst:             put_entry
        - Src:             'write.c:1081,6'
          Dst:             hashtab_map
        - Src:             'write.c:1081,6'
          Dst:             perm_write
        - Src:             'write.c:1084,6'
          Dst:             write_cons_helper
        - Src:             'write.c:1097,11'
          Dst:             put_entry
        - Src:             'write.c:1100,7'
          Dst:             write_cons_helper
        - Src:             'write.c:1122,11'
          Dst:             put_entry
        - Src:             'write.c:1132,11'
          Dst:             put_entry
    - functionName:    role_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1141
      functionLinenumberEnd: 1217
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          323
      EdgeCount:       72
      CyclomaticComplexity: 22
      functionsReached:
        - ebitmap_init
        - ebitmap_write
        - put_entry
        - strlen
        - type_set_write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1164,8'
          Dst:             strlen
        - Src:             'write.c:1170,11'
          Dst:             put_entry
        - Src:             'write.c:1174,10'
          Dst:             put_entry
        - Src:             'write.c:1178,6'
          Dst:             ebitmap_write
        - Src:             'write.c:1193,4'
          Dst:             ebitmap_init
        - Src:             'write.c:1194,8'
          Dst:             ebitmap_write
        - Src:             'write.c:1197,8'
          Dst:             ebitmap_write
        - Src:             'write.c:1201,7'
          Dst:             type_set_write
        - Src:             'write.c:1208,11'
          Dst:             put_entry
        - Src:             'write.c:1212,7'
          Dst:             ebitmap_write
    - functionName:    type_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1220
      functionLinenumberEnd: 1310
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         92
      ICount:          580
      EdgeCount:       124
      CyclomaticComplexity: 34
      functionsReached:
        - ebitmap_write
        - put_entry
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1239,8'
          Dst:             strlen
        - Src:             'write.c:1296,11'
          Dst:             put_entry
        - Src:             'write.c:1301,7'
          Dst:             ebitmap_write
        - Src:             'write.c:1305,10'
          Dst:             put_entry
    - functionName:    user_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1313
      functionLinenumberEnd: 1368
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          384
      EdgeCount:       91
      CyclomaticComplexity: 27
      functionsReached:
        - ebitmap_write
        - mls_write_level
        - mls_write_range_helper
        - mls_write_semantic_level_helper
        - mls_write_semantic_range_helper
        - put_entry
        - role_set_write
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1323,8'
          Dst:             strlen
        - Src:             'write.c:1329,11'
          Dst:             put_entry
        - Src:             'write.c:1333,10'
          Dst:             put_entry
        - Src:             'write.c:1338,7'
          Dst:             ebitmap_write
        - Src:             'write.c:1341,7'
          Dst:             role_set_write
        - Src:             'write.c:1353,7'
          Dst:             mls_write_range_helper
        - Src:             'write.c:1355,7'
          Dst:             mls_write_level
        - Src:             'write.c:1361,7'
          Dst:             mls_write_semantic_range_helper
        - Src:             'write.c:1363,7'
          Dst:             mls_write_semantic_level_helper
    - functionName:    cond_write_bool
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 727
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          149
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - put_entry
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:737,8'
          Dst:             strlen
        - Src:             'write.c:742,11'
          Dst:             put_entry
        - Src:             'write.c:745,10'
          Dst:             put_entry
        - Src:             'write.c:752,11'
          Dst:             put_entry
    - functionName:    sens_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          102
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - mls_write_level
        - put_entry
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:468,8'
          Dst:             strlen
        - Src:             'write.c:472,11'
          Dst:             put_entry
        - Src:             'write.c:476,10'
          Dst:             put_entry
        - Src:             'write.c:480,6'
          Dst:             mls_write_level
    - functionName:    cat_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 510
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          98
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - put_entry
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:496,8'
          Dst:             strlen
        - Src:             'write.c:501,11'
          Dst:             put_entry
        - Src:             'write.c:505,10'
          Dst:             put_entry
    - functionName:    mls_write_level
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 412
      functionLinenumberEnd: 425
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ebitmap_write
        - put_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:417,10'
          Dst:             put_entry
        - Src:             'write.c:421,6'
          Dst:             ebitmap_write
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    perm_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 930
      functionLinenumberEnd: 952
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          89
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - put_entry
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:939,8'
          Dst:             strlen
        - Src:             'write.c:943,11'
          Dst:             put_entry
        - Src:             'write.c:947,10'
          Dst:             put_entry
    - functionName:    write_cons_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 987
      functionLinenumberEnd: 1033
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          246
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached:
        - ebitmap_write
        - put_entry
        - type_set_write
      functionUses:    2
      BranchProfiles:
        - Branch String:   'write.c:1011,4'
          Branch Sides:    []
      Callsites:
        - Src:             'write.c:1000,11'
          Dst:             put_entry
        - Src:             'write.c:1007,12'
          Dst:             put_entry
        - Src:             'write.c:1015,9'
          Dst:             ebitmap_write
        - Src:             'write.c:1019,7'
          Dst:             type_set_write
        - Src:             'write.c:1022,7'
          Dst:             type_set_write
    - functionName:    avrule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1770
      functionLinenumberEnd: 1865
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         96
      ICount:          635
      EdgeCount:       124
      CyclomaticComplexity: 30
      functionsReached:
        - put_entry
        - type_set_write
      functionUses:    1
      BranchProfiles:
        - Branch String:   ''
          Branch Sides:    []
      Callsites:
        - Src:             'write.c:1786,11'
          Dst:             put_entry
        - Src:             'write.c:1790,6'
          Dst:             type_set_write
        - Src:             'write.c:1793,6'
          Dst:             type_set_write
        - Src:             'write.c:1804,11'
          Dst:             put_entry
        - Src:             'write.c:1812,12'
          Dst:             put_entry
        - Src:             'write.c:1850,11'
          Dst:             put_entry
        - Src:             'write.c:1854,11'
          Dst:             put_entry
        - Src:             'write.c:1859,11'
          Dst:             put_entry
    - functionName:    cond_write_node
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 822
      functionLinenumberEnd: 872
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          249
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached:
        - avrule_write_list
        - cond_write_av_list
        - put_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:828,10'
          Dst:             put_entry
        - Src:             'write.c:838,10'
          Dst:             put_entry
        - Src:             'write.c:846,12'
          Dst:             put_entry
        - Src:             'write.c:852,7'
          Dst:             cond_write_av_list
        - Src:             'write.c:854,7'
          Dst:             cond_write_av_list
        - Src:             'write.c:857,7'
          Dst:             avrule_write_list
        - Src:             'write.c:859,7'
          Dst:             avrule_write_list
        - Src:             'write.c:866,11'
          Dst:             put_entry
    - functionName:    cond_write_av_list
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 818
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          209
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - avtab_destroy
        - avtab_init
        - avtab_write_item
        - cond_av_list_destroy
        - expand_cond_av_list
        - put_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:781,7'
          Dst:             avtab_init
        - Src:             'write.c:783,7'
          Dst:             expand_cond_av_list
        - Src:             'write.c:795,10'
          Dst:             put_entry
        - Src:             'write.c:806,8'
          Dst:             avtab_write_item
        - Src:             'write.c:813,3'
          Dst:             cond_av_list_destroy
        - Src:             'write.c:814,3'
          Dst:             avtab_destroy
    - functionName:    avtab_write_item
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         163
      ICount:          1094
      EdgeCount:       216
      CyclomaticComplexity: 55
      functionsReached:
        - avtab_search_node_next
        - put_entry
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:151,16'
          Dst:             avtab_search_node_next
        - Src:             'write.c:153,16'
          Dst:             avtab_search_node_next
        - Src:             'write.c:184,11'
          Dst:             avtab_search_node_next
        - Src:             'write.c:216,13'
          Dst:             put_entry
        - Src:             'write.c:229,10'
          Dst:             put_entry
        - Src:             'write.c:255,11'
          Dst:             put_entry
        - Src:             'write.c:259,11'
          Dst:             put_entry
        - Src:             'write.c:264,11'
          Dst:             put_entry
        - Src:             'write.c:269,11'
          Dst:             put_entry
    - functionName:    filename_write_one
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          165
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - ebitmap_write
        - put_entry
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:624,8'
          Dst:             strlen
        - Src:             'write.c:626,10'
          Dst:             put_entry
        - Src:             'write.c:630,10'
          Dst:             put_entry
        - Src:             'write.c:644,10'
          Dst:             put_entry
        - Src:             'write.c:650,7'
          Dst:             ebitmap_write
        - Src:             'write.c:654,11'
          Dst:             put_entry
    - functionName:    filename_write_one_compat
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 614
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          172
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - put_entry
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:589,8'
          Dst:             strlen
        - Src:             'write.c:591,3'
          Dst:             ebitmap_start
        - Src:             'write.c:591,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'write.c:593,12'
          Dst:             put_entry
        - Src:             'write.c:597,12'
          Dst:             put_entry
        - Src:             'write.c:605,12'
          Dst:             put_entry
        - Src:             'write.c:591,3'
          Dst:             ebitmap_next
    - functionName:    avtab_reset_merged
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    range_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1742
      functionLinenumberEnd: 1764
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          97
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - hashtab_map
        - put_entry
        - range_write_helper
        - rangetrans_count
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1754,7'
          Dst:             hashtab_map
        - Src:             'write.c:1754,7'
          Dst:             rangetrans_count
        - Src:             'write.c:1759,10'
          Dst:             put_entry
        - Src:             'write.c:1763,9'
          Dst:             hashtab_map
        - Src:             'write.c:1763,9'
          Dst:             range_write_helper
    - functionName:    genfs_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1629
      functionLinenumberEnd: 1675
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         36
      ICount:          248
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - context_write
        - put_entry
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1638,10'
          Dst:             put_entry
        - Src:             'write.c:1642,9'
          Dst:             strlen
        - Src:             'write.c:1644,11'
          Dst:             put_entry
        - Src:             'write.c:1647,11'
          Dst:             put_entry
        - Src:             'write.c:1654,11'
          Dst:             put_entry
        - Src:             'write.c:1658,10'
          Dst:             strlen
        - Src:             'write.c:1660,12'
          Dst:             put_entry
        - Src:             'write.c:1663,12'
          Dst:             put_entry
        - Src:             'write.c:1667,12'
          Dst:             put_entry
        - Src:             'write.c:1670,8'
          Dst:             context_write
    - functionName:    ocontext_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1615
      functionLinenumberEnd: 1625
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          48
      EdgeCount:       13
      CyclomaticComplexity: 8
      functionsReached:
        - ocontext_write_selinux
        - ocontext_write_xen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'write.c:1617,2'
          Branch Sides:    []
      Callsites:
        - Src:             'write.c:1619,8'
          Dst:             ocontext_write_selinux
        - Src:             'write.c:1622,8'
          Dst:             ocontext_write_xen
    - functionName:    scope_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2160
      functionLinenumberEnd: 2198
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          167
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - put_entry
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:2165,19'
          Dst:             strlen
        - Src:             'write.c:2175,13'
          Dst:             calloc
        - Src:             'write.c:2183,6'
          Dst:             put_entry
        - Src:             'write.c:2184,6'
          Dst:             put_entry
        - Src:             'write.c:2193,6'
          Dst:             put_entry
    - functionName:    avrule_block_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2125
      functionLinenumberEnd: 2157
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          144
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - avrule_decl_write
        - put_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:2133,6'
          Dst:             put_entry
        - Src:             'write.c:2146,7'
          Dst:             put_entry
        - Src:             'write.c:2150,8'
          Dst:             avrule_decl_write
    - functionName:    filename_trans_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 665
      functionLinenumberEnd: 690
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          98
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - filename_write_one
        - filename_write_one_compat
        - hashtab_map
        - put_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:675,11'
          Dst:             put_entry
        - Src:             'write.c:679,8'
          Dst:             hashtab_map
        - Src:             'write.c:679,8'
          Dst:             filename_write_one_compat
        - Src:             'write.c:683,11'
          Dst:             put_entry
        - Src:             'write.c:687,8'
          Dst:             hashtab_map
        - Src:             'write.c:687,8'
          Dst:             filename_write_one
    - functionName:    role_allow_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 558
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          100
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - put_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:567,10'
          Dst:             put_entry
        - Src:             'write.c:573,11'
          Dst:             put_entry
    - functionName:    role_trans_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         46
      ICount:          275
      EdgeCount:       60
      CyclomaticComplexity: 16
      functionsReached:
        - put_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:528,10'
          Dst:             put_entry
        - Src:             'write.c:543,11'
          Dst:             put_entry
        - Src:             'write.c:548,12'
          Dst:             put_entry
    - functionName:    avtab_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          254
      EdgeCount:       59
      CyclomaticComplexity: 16
      functionsReached:
        - avtab_destroy
        - avtab_init
        - avtab_reset_merged
        - avtab_write_item
        - expand_avtab
        - put_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:303,7'
          Dst:             avtab_init
        - Src:             'write.c:305,7'
          Dst:             expand_avtab
        - Src:             'write.c:310,3'
          Dst:             avtab_reset_merged
        - Src:             'write.c:315,11'
          Dst:             put_entry
        - Src:             'write.c:324,8'
          Dst:             avtab_write_item
        - Src:             'write.c:335,11'
          Dst:             put_entry
        - Src:             'write.c:340,3'
          Dst:             avtab_reset_merged
        - Src:             'write.c:343,9'
          Dst:             avtab_write_item
        - Src:             'write.c:354,3'
          Dst:             avtab_destroy
    - functionName:    role_attr_uncount
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2216
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    type_attr_uncount
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2203
      functionLinenumberEnd: 2211
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policydb_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2233
      functionLinenumberEnd: 2461
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         240
      ICount:          1499
      EdgeCount:       325
      CyclomaticComplexity: 87
      functionsReached:
        - avrule_block_write
        - avtab_write
        - cond_write_list
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - ebitmap_write
        - filename_trans_write
        - genfs_write
        - hashtab_map
        - ocontext_write
        - policydb_lookup_compat
        - put_entry
        - range_write
        - role_allow_write
        - role_attr_uncount
        - role_trans_write
        - scope_write
        - strlen
        - type_attr_uncount
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:2269,9'
          Dst:             strlen
        - Src:             'write.c:2277,11'
          Dst:             put_entry
        - Src:             'write.c:2280,10'
          Dst:             put_entry
        - Src:             'write.c:2286,9'
          Dst:             policydb_lookup_compat
        - Src:             'write.c:2304,11'
          Dst:             put_entry
        - Src:             'write.c:2310,9'
          Dst:             strlen
        - Src:             'write.c:2312,11'
          Dst:             put_entry
        - Src:             'write.c:2315,11'
          Dst:             put_entry
        - Src:             'write.c:2318,9'
          Dst:             strlen
        - Src:             'write.c:2320,11'
          Dst:             put_entry
        - Src:             'write.c:2323,11'
          Dst:             put_entry
        - Src:             'write.c:2334,7'
          Dst:             ebitmap_write
        - Src:             'write.c:2342,4'
          Dst:             ebitmap_start
        - Src:             'write.c:2342,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'write.c:2342,4'
          Dst:             ebitmap_next
        - Src:             'write.c:2348,14'
          Dst:             ebitmap_write
        - Src:             'write.c:2354,4'
          Dst:             ebitmap_start
        - Src:             'write.c:2354,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'write.c:2354,4'
          Dst:             ebitmap_next
        - Src:             'write.c:2360,14'
          Dst:             ebitmap_write
        - Src:             'write.c:2378,4'
          Dst:             hashtab_map
        - Src:             'write.c:2378,4'
          Dst:             type_attr_uncount
        - Src:             'write.c:2391,10'
          Dst:             hashtab_map
        - Src:             'write.c:2391,10'
          Dst:             role_attr_uncount
        - Src:             'write.c:2394,11'
          Dst:             put_entry
        - Src:             'write.c:2397,7'
          Dst:             hashtab_map
        - Src:             'write.c:2402,7'
          Dst:             avtab_write
        - Src:             'write.c:2409,8'
          Dst:             cond_write_list
        - Src:             'write.c:2412,7'
          Dst:             role_trans_write
        - Src:             'write.c:2414,7'
          Dst:             role_allow_write
        - Src:             'write.c:2417,8'
          Dst:             filename_trans_write
        - Src:             'write.c:2424,7'
          Dst:             avrule_block_write
        - Src:             'write.c:2430,8'
          Dst:             put_entry
        - Src:             'write.c:2433,8'
          Dst:             hashtab_map
        - Src:             'write.c:2433,8'
          Dst:             scope_write
        - Src:             'write.c:2438,6'
          Dst:             ocontext_write
        - Src:             'write.c:2438,43'
          Dst:             genfs_write
        - Src:             'write.c:2447,7'
          Dst:             range_write
        - Src:             'write.c:2455,8'
          Dst:             ebitmap_write
    - functionName:    policy_file_length
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          113
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - fseek
        - ftell
      functionUses:    1
      BranchProfiles:
        - Branch String:   'module.c:67,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module.c:69,17'
          Dst:             ftell
        - Src:             'module.c:72,8'
          Dst:             fseek
        - Src:             'module.c:75,16'
          Dst:             ftell
        - Src:             'module.c:78,8'
          Dst:             fseek
    - functionName:    ftell
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_expand_module
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 998
      functionLinenumberEnd: 999
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - expand_module
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:999,9'
          Dst:             expand_module
    - functionName:    sepol_link_modules
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 990
      functionLinenumberEnd: 992
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - link_modules
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:991,9'
          Dst:             link_modules
    - functionName:    write_helper
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 846
      functionLinenumberEnd: 863
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - put_entry
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:856,7'
          Dst:             put_entry
    - functionName:    sepol_module_package_write
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 985
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         85
      ICount:          627
      EdgeCount:       116
      CyclomaticComplexity: 33
      functionsReached:
        - policy_file_init
        - policydb_write
        - put_entry
        - write_helper
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:875,3'
          Dst:             policy_file_init
        - Src:             'module.c:878,7'
          Dst:             policydb_write
        - Src:             'module.c:913,6'
          Dst:             put_entry
        - Src:             'module.c:946,6'
          Dst:             put_entry
        - Src:             'module.c:951,6'
          Dst:             policydb_write
        - Src:             'module.c:956,7'
          Dst:             put_entry
        - Src:             'module.c:958,7'
          Dst:             write_helper
        - Src:             'module.c:963,7'
          Dst:             put_entry
        - Src:             'module.c:965,7'
          Dst:             write_helper
        - Src:             'module.c:971,7'
          Dst:             put_entry
        - Src:             'module.c:973,7'
          Dst:             write_helper
        - Src:             'module.c:978,7'
          Dst:             put_entry
        - Src:             'module.c:980,7'
          Dst:             write_helper
    - functionName:    sepol_module_package_info
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 843
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         203
      ICount:          1294
      EdgeCount:       260
      CyclomaticComplexity: 59
      functionsReached:
        - module_package_read_offsets
        - next_entry
        - policy_file_seek
        - sepol_module_package_create
        - sepol_module_package_free
        - str_read
      functionUses:    0
      BranchProfiles:
        - Branch String:   'module.c:696,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module.c:663,6'
          Dst:             sepol_module_package_create
        - Src:             'module.c:666,6'
          Dst:             module_package_read_offsets
        - Src:             'module.c:672,7'
          Dst:             policy_file_seek
        - Src:             'module.c:688,8'
          Dst:             next_entry
        - Src:             'module.c:760,9'
          Dst:             next_entry
        - Src:             'module.c:769,9'
          Dst:             next_entry
        - Src:             'module.c:792,9'
          Dst:             next_entry
        - Src:             'module.c:801,8'
          Dst:             str_read
        - Src:             'module.c:808,9'
          Dst:             next_entry
        - Src:             'module.c:816,8'
          Dst:             str_read
        - Src:             'module.c:835,2'
          Dst:             sepol_module_package_free
        - Src:             'module.c:840,2'
          Dst:             sepol_module_package_free
    - functionName:    sepol_module_package_create
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - module_package_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:122,7'
          Dst:             calloc
        - Src:             'module.c:126,7'
          Dst:             module_package_init
    - functionName:    module_package_read_offsets
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         107
      ICount:          711
      EdgeCount:       138
      CyclomaticComplexity: 33
      functionsReached:
        - calloc
        - next_entry
        - policy_file_length
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:391,7'
          Dst:             next_entry
        - Src:             'module.c:412,19'
          Dst:             calloc
        - Src:             'module.c:419,8'
          Dst:             calloc
        - Src:             'module.c:424,7'
          Dst:             next_entry
        - Src:             'module.c:440,7'
          Dst:             policy_file_length
    - functionName:    policy_file_seek
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          95
      EdgeCount:       12
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - fseek
      functionUses:    3
      BranchProfiles:
        - Branch String:   'module.c:42,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module.c:45,4'
          Dst:             __errno_location
        - Src:             'module.c:48,10'
          Dst:             fseek
        - Src:             'module.c:51,4'
          Dst:             __errno_location
    - functionName:    sepol_module_package_free
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sepol_policydb_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:144,2'
          Dst:             sepol_policydb_free
    - functionName:    module_package_init
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sepol_policydb_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:96,6'
          Dst:             sepol_policydb_create
    - functionName:    read_helper
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          80
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - next_entry
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:363,8'
          Dst:             next_entry
    - functionName:    sepol_module_package_read
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 650
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         208
      ICount:          1396
      EdgeCount:       266
      CyclomaticComplexity: 60
      functionsReached:
        - module_package_read_offsets
        - next_entry
        - policy_file_seek
        - policydb_read
        - read_helper
      functionUses:    1
      BranchProfiles:
        - Branch String:   'module.c:506,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module.c:476,6'
          Dst:             module_package_read_offsets
        - Src:             'module.c:483,7'
          Dst:             policy_file_seek
        - Src:             'module.c:498,8'
          Dst:             next_entry
        - Src:             'module.c:522,8'
          Dst:             read_helper
        - Src:             'module.c:548,8'
          Dst:             read_helper
        - Src:             'module.c:571,8'
          Dst:             read_helper
        - Src:             'module.c:597,8'
          Dst:             read_helper
        - Src:             'module.c:618,8'
          Dst:             policy_file_seek
        - Src:             'module.c:621,9'
          Dst:             policydb_read
    - functionName:    link_netfilter_contexts
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          140
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:291,15'
          Dst:             realloc
    - functionName:    link_file_contexts
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          122
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:258,19'
          Dst:             realloc
    - functionName:    sepol_link_packages
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          270
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached:
        - calloc
        - link_file_contexts
        - link_modules
        - link_netfilter_contexts
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:318,18'
          Dst:             calloc
        - Src:             'module.c:326,11'
          Dst:             link_modules
        - Src:             'module.c:335,6'
          Dst:             link_file_contexts
        - Src:             'module.c:340,6'
          Dst:             link_netfilter_contexts
    - functionName:    sepol_module_package_get_policy
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_module_package_set_netfilter_contexts
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - set_char
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:227,6'
          Dst:             set_char
    - functionName:    set_char
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_module_package_set_user_extra
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - set_char
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:217,6'
          Dst:             set_char
    - functionName:    sepol_module_package_set_seusers
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - set_char
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:207,6'
          Dst:             set_char
    - functionName:    sepol_module_package_set_file_contexts
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - set_char
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:197,6'
          Dst:             set_char
    - functionName:    sepol_module_package_get_netfilter_contexts_len
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_module_package_get_netfilter_contexts
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_module_package_get_user_extra_len
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_module_package_get_user_extra
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_module_package_get_seusers_len
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_module_package_get_seusers
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_module_package_get_file_contexts_len
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_module_package_get_file_contexts
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policydb_to_image
      functionSourceFile: '/src/selinux/libsepol/src/policydb_convert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         63
      ICount:          410
      EdgeCount:       80
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - policy_file_init
        - policydb_destroy
        - policydb_init
        - policydb_read
        - policydb_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_convert.c:44,2'
          Dst:             policy_file_init
        - Src:             'policydb_convert.c:47,6'
          Dst:             policydb_write
        - Src:             'policydb_convert.c:49,3'
          Dst:             __errno_location
        - Src:             'policydb_convert.c:66,6'
          Dst:             policydb_write
        - Src:             'policydb_convert.c:68,3'
          Dst:             __errno_location
        - Src:             'policydb_convert.c:76,6'
          Dst:             policydb_init
        - Src:             'policydb_convert.c:78,3'
          Dst:             __errno_location
        - Src:             'policydb_convert.c:81,6'
          Dst:             policydb_read
        - Src:             'policydb_convert.c:83,3'
          Dst:             __errno_location
        - Src:             'policydb_convert.c:86,2'
          Dst:             policydb_destroy
    - functionName:    policydb_from_image
      functionSourceFile: '/src/selinux/libsepol/src/policydb_convert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 12
      functionLinenumberEnd: 30
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          101
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - policy_file_init
        - policydb_destroy
        - policydb_read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_convert.c:16,2'
          Dst:             policy_file_init
        - Src:             'policydb_convert.c:22,6'
          Dst:             policydb_read
        - Src:             'policydb_convert.c:23,3'
          Dst:             policydb_destroy
        - Src:             'policydb_convert.c:25,3'
          Dst:             __errno_location
...
