---
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: 41
      functionLinenumberEnd: 62
      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:45,17'
          Dst:             write
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:47,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:    35
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write_binary_policy
      functionSourceFile: '/src/selinux/checkpolicy/fuzz/checkpolicy-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 144
      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:141,2'
          Dst:             policy_file_init
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:144,9'
          Dst:             policydb_write
    - functionName:    read_source_policy
      functionSourceFile: '/src/selinux/checkpolicy/fuzz/checkpolicy-fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          176
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - _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:69,7'
          Dst:             memfd_create
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:73,7'
          Dst:             full_write
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:75,3'
          Dst:             close
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:79,2'
          Dst:             fsync
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:83,9'
          Dst:             fdopen
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:85,3'
          Dst:             close
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:89,2'
          Dst:             rewind
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:91,13'
          Dst:             queue_create
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:93,3'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:94,3'
          Dst:             yylex_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:101,2'
          Dst:             init_parser
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:103,6'
          Dst:             _setjmp
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:104,3'
          Dst:             queue_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:105,3'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:106,3'
          Dst:             yylex_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:110,7'
          Dst:             yyparse
        - 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:124,3'
          Dst:             queue_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:125,3'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:126,3'
          Dst:             yylex_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:130,2'
          Dst:             queue_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:131,2'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:132,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:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/selinux/checkpolicy/fuzz/checkpolicy-fuzzer.c'
      linkageType:     externalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         97
      ICount:          482
      EdgeCount:       116
      CyclomaticComplexity: 21
      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:165,2'
          Branch Sides:    []
        - Branch String:   'checkpolicy/fuzz/checkpolicy-fuzzer.c:181,2'
          Branch Sides:    []
      Callsites:
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:156,2'
          Dst:             sepol_debug
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:213,6'
          Dst:             policydb_init
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:220,2'
          Dst:             policydb_set_target_platform
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:222,6'
          Dst:             read_source_policy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:226,7'
          Dst:             link_modules
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:229,7'
          Dst:             policydb_init
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:232,7'
          Dst:             expand_module
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:236,9'
          Dst:             check_assertions
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:239,9'
          Dst:             hierarchy_check_constraints
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:243,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:244,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:245,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:246,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:250,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:251,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:252,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:253,3'
          Dst:             __assert_fail
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:258,6'
          Dst:             policydb_load_isids
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:262,6'
          Dst:             policydb_optimize
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:265,6'
          Dst:             policydb_sort_ocontexts
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:268,6'
          Dst:             policydb_validate
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:270,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:272,12'
          Dst:             fopen64
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:276,6'
          Dst:             write_binary_policy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:277,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:280,6'
          Dst:             sepol_kernel_policydb_to_conf
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:281,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:284,6'
          Dst:             sepol_kernel_policydb_to_cil
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:285,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:288,6'
          Dst:             sepol_module_policydb_to_cil
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:289,3'
          Dst:             abort
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:293,3'
          Dst:             fclose
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:295,2'
          Dst:             sepol_sidtab_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:296,2'
          Dst:             policydb_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:297,2'
          Dst:             policydb_destroy
        - Src:             'checkpolicy/fuzz/checkpolicy-fuzzer.c:301,2'
          Dst:             module_compiler_reset
    - 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:    63
      BranchProfiles:  []
      Callsites:       []
    - 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: 393
      functionLinenumberEnd: 399
      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:395,2'
          Dst:             strncpy
        - Src:             'policy_scan.l:397,6'
          Dst:             strlen
        - Src:             'policy_scan.l:397,41'
          Dst:             strlen
        - Src:             'policy_scan.l:398,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: 5440
      functionLinenumberEnd: 5449
      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:5449,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: 5360
      functionLinenumberEnd: 5384
      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: 5389
      functionLinenumberEnd: 5406
      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:5393,3'
          Dst:             yy_delete_buffer
        - Src:             'lex.yy.c:5395,3'
          Dst:             yypop_buffer_state
        - Src:             'lex.yy.c:5399,2'
          Dst:             yyfree
        - Src:             'lex.yy.c:5404,5'
          Dst:             yy_init_globals
    - functionName:    yy_delete_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4999
      functionLinenumberEnd: 5011
      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:5008,3'
          Dst:             yyfree
        - Src:             'lex.yy.c:5010,2'
          Dst:             yyfree
    - functionName:    yypop_buffer_state
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5105
      functionLinenumberEnd: 5118
      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:5109,2'
          Dst:             yy_delete_buffer
        - Src:             'lex.yy.c:5115,3'
          Dst:             yy_load_buffer_state
    - functionName:    yyfree
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5453
      functionLinenumberEnd: 5455
      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: 4957
      functionLinenumberEnd: 4962
      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: 5355
      functionLinenumberEnd: 5357
      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: 5350
      functionLinenumberEnd: 5351
      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: 5345
      functionLinenumberEnd: 5347
      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: 5340
      functionLinenumberEnd: 5342
      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: 5328
      functionLinenumberEnd: 5331
      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: 5319
      functionLinenumberEnd: 5320
      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: 5310
      functionLinenumberEnd: 5311
      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: 5302
      functionLinenumberEnd: 5303
      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: 5294
      functionLinenumberEnd: 5295
      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: 5285
      functionLinenumberEnd: 5287
      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: 5223
      functionLinenumberEnd: 5249
      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:5231,17'
          Dst:             yyalloc
        - Src:             'lex.yy.c:5233,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:5240,6'
          Dst:             yy_scan_buffer
        - Src:             'lex.yy.c:5242,3'
          Dst:             yyfatal
    - functionName:    yyalloc
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5435
      functionLinenumberEnd: 5436
      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: 5173
      functionLinenumberEnd: 5199
      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:5182,24'
          Dst:             yyalloc
        - Src:             'lex.yy.c:5184,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:5196,2'
          Dst:             yy_switch_to_buffer
    - functionName:    yy_switch_to_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4926
      functionLinenumberEnd: 4954
      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:4933,2'
          Dst:             yyensure_buffer_stack
        - Src:             'lex.yy.c:4946,2'
          Dst:             yy_load_buffer_state
    - functionName:    yyensure_buffer_stack
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5124
      functionLinenumberEnd: 5164
      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:5134,49'
          Dst:             yyalloc
        - Src:             'lex.yy.c:5138,4'
          Dst:             yyfatal
        - Src:             'lex.yy.c:5153,49'
          Dst:             yyrealloc
        - Src:             'lex.yy.c:5158,4'
          Dst:             yyfatal
    - functionName:    yyerror
      functionSourceFile: '/src/selinux/checkpolicy/policy_scan.l'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    275
      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: 5210
      functionLinenumberEnd: 5212
      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:5212,37'
          Dst:             strlen
        - Src:             'lex.yy.c:5212,9'
          Dst:             yy_scan_bytes
    - functionName:    yypush_buffer_state
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5075
      functionLinenumberEnd: 5098
      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:5079,2'
          Dst:             yyensure_buffer_stack
        - Src:             'lex.yy.c:5096,2'
          Dst:             yy_load_buffer_state
    - functionName:    yy_flush_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5046
      functionLinenumberEnd: 5066
      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:5065,3'
          Dst:             yy_load_buffer_state
    - functionName:    yy_init_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5019
      functionLinenumberEnd: 5039
      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:5020,15'
          Dst:             __errno_location
        - Src:             'lex.yy.c:5022,2'
          Dst:             yy_flush_buffer
        - Src:             'lex.yy.c:5036,48'
          Dst:             fileno
        - Src:             'lex.yy.c:5036,40'
          Dst:             isatty
        - Src:             'lex.yy.c:5038,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: 4909
      functionLinenumberEnd: 4919
      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:4912,9'
          Dst:             yyensure_buffer_stack
        - Src:             'lex.yy.c:4914,13'
          Dst:             yy_create_buffer
        - Src:             'lex.yy.c:4917,2'
          Dst:             yy_init_buffer
        - Src:             'lex.yy.c:4918,2'
          Dst:             yy_load_buffer_state
    - functionName:    yy_create_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4971
      functionLinenumberEnd: 4991
      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:4974,24'
          Dst:             yyalloc
        - Src:             'lex.yy.c:4976,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4983,26'
          Dst:             yyalloc
        - Src:             'lex.yy.c:4985,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4989,2'
          Dst:             yy_init_buffer
    - functionName:    yy_get_next_buffer
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4633
      functionLinenumberEnd: 4766
      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:4640,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4701,6'
          Dst:             yyrealloc
        - Src:             'lex.yy.c:4709,5'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4723,3'
          Dst:             getc
        - Src:             'lex.yy.c:4723,3'
          Dst:             ferror
        - Src:             'lex.yy.c:4723,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4723,3'
          Dst:             __errno_location
        - Src:             'lex.yy.c:4723,3'
          Dst:             fread
        - Src:             'lex.yy.c:4723,3'
          Dst:             ferror
        - Src:             'lex.yy.c:4723,3'
          Dst:             __errno_location
        - Src:             'lex.yy.c:4723,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:4723,3'
          Dst:             __errno_location
        - Src:             'lex.yy.c:4723,3'
          Dst:             clearerr
        - Src:             'lex.yy.c:4734,4'
          Dst:             yyrestart
        - Src:             'lex.yy.c:4751,50'
          Dst:             yyrealloc
        - Src:             'lex.yy.c:4754,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: 4803
      functionLinenumberEnd: 4822
      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: 4771
      functionLinenumberEnd: 4794
      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: 402
      functionLinenumberEnd: 417
      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:405,2'
          Dst:             __errno_location
        - Src:             'policy_scan.l:406,11'
          Dst:             strtoul
        - Src:             'policy_scan.l:407,6'
          Dst:             __errno_location
        - Src:             'policy_scan.l:408,3'
          Dst:             yywarn
        - Src:             'policy_scan.l:410,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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yywarn
      functionSourceFile: '/src/selinux/checkpolicy/policy_scan.l'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 390
      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:374,10'
          Dst:             yyerror
    - functionName:    yy_flex_strncpy
      functionSourceFile: '/src/selinux/checkpolicy/lex.yy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5415
      functionLinenumberEnd: 5420
      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: 3535
      functionLinenumberEnd: 4623
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         407
      ICount:          1705
      EdgeCount:       425
      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:3617,3'
          Branch Sides:    []
        - Branch String:   'lex.yy.c:4563,8'
          Branch Sides:    []
      Callsites:
        - Src:             'lex.yy.c:3558,4'
          Dst:             yyensure_buffer_stack
        - Src:             'lex.yy.c:3560,5'
          Dst:             yy_create_buffer
        - Src:             'lex.yy.c:3563,3'
          Dst:             yy_load_buffer_state
        - Src:             'lex.yy.c:3613,3'
          Dst:             yyfatal
        - Src:             'lex.yy.c:3613,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:302,3'
          Dst:             set_source_line_and_file
        - Src:             'policy_scan.l:304,7'
          Dst:             __errno_location
        - Src:             'policy_scan.l:305,23'
          Dst:             strtoul
        - Src:             'policy_scan.l:306,11'
          Dst:             __errno_location
        - Src:             'policy_scan.l:307,9'
          Dst:             yywarn
        - Src:             'policy_scan.l:331,3'
          Dst:             yyerror
        - Src:             'policy_scan.l:339,1'
          Dst:             fwrite
        - Src:             'lex.yy.c:4533,23'
          Dst:             yy_get_previous_state
        - Src:             'lex.yy.c:4544,20'
          Dst:             yy_try_NUL_trans
        - Src:             'lex.yy.c:4563,17'
          Dst:             yy_get_next_buffer
        - Src:             'lex.yy.c:4598,24'
          Dst:             yy_get_previous_state
        - Src:             'lex.yy.c:4608,24'
          Dst:             yy_get_previous_state
        - Src:             'lex.yy.c:4618,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: 1137
      functionLinenumberEnd: 1146
      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:1141,6'
          Dst:             ebitmap_get_bit
    - functionName:    perm_destroy
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 755
      functionLinenumberEnd: 759
      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: 127
      functionLinenumberEnd: 132
      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: 1480
      functionLinenumberEnd: 1486
      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:1482,3'
          Dst:             pop_stack
    - functionName:    pop_stack
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1470
      functionLinenumberEnd: 1476
      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:1472,2'
          Dst:             __assert_fail
    - functionName:    copy_requirements
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1360
      functionLinenumberEnd: 1405
      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:1371,8'
          Dst:             ebitmap_union
        - Src:             'module_compiler.c:1372,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:1378,25'
          Dst:             realloc
        - Src:             'module_compiler.c:1382,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:1388,5'
          Dst:             ebitmap_init
        - Src:             'module_compiler.c:1398,8'
          Dst:             ebitmap_union
        - Src:             'module_compiler.c:1399,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:1404,9'
          Dst:             copy_requirements
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 1412
      functionLinenumberEnd: 1435
      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:1414,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:1418,7'
          Dst:             copy_requirements
        - Src:             'module_compiler.c:1430,4'
          Dst:             yyerror
    - functionName:    begin_optional_else
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1357
      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:1335,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:1339,15'
          Dst:             avrule_decl_create
        - Src:             'module_compiler.c:1340,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:1348,3'
          Dst:             __assert_fail
    - functionName:    end_optional
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1326
      functionLinenumberEnd: 1329
      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:1328,2'
          Dst:             pop_stack
    - functionName:    begin_optional
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1293
      functionLinenumberEnd: 1323
      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:1298,16'
          Dst:             avrule_block_create
        - Src:             'module_compiler.c:1299,15'
          Dst:             avrule_decl_create
        - Src:             'module_compiler.c:1308,3'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:1312,6'
          Dst:             push_stack
        - Src:             'module_compiler.c:1320,2'
          Dst:             yyerror
        - Src:             'module_compiler.c:1321,2'
          Dst:             avrule_block_destroy
    - functionName:    push_stack
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1440
      functionLinenumberEnd: 1465
      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:1447,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_compiler.c:1441,21'
          Dst:             calloc
        - Src:             'module_compiler.c:1459,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:    141
      BranchProfiles:  []
      Callsites:       []
    - functionName:    append_range_trans
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1282
      functionLinenumberEnd: 1290
      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:1286,2'
          Dst:             __assert_fail
    - functionName:    append_filename_trans
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1270
      functionLinenumberEnd: 1278
      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:1274,2'
          Dst:             __assert_fail
    - functionName:    append_role_allow
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1258
      functionLinenumberEnd: 1266
      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:1262,2'
          Dst:             __assert_fail
    - functionName:    append_role_trans
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1246
      functionLinenumberEnd: 1254
      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:1250,2'
          Dst:             __assert_fail
    - functionName:    append_avrule
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1226
      functionLinenumberEnd: 1242
      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:1234,2'
          Dst:             __assert_fail
    - functionName:    append_cond_list
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1201
      functionLinenumberEnd: 1223
      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:1202,26'
          Dst:             get_current_cond_list
        - Src:             'module_compiler.c:1204,2'
          Dst:             __assert_fail
    - functionName:    get_current_cond_list
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1189
      functionLinenumberEnd: 1193
      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:1193,9'
          Dst:             get_decl_cond_list
    - functionName:    is_perm_in_stack
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1150
      functionLinenumberEnd: 1169
      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:1156,7'
          Dst:             is_perm_in_scope_index
        - Src:             'module_compiler.c:1158,7'
          Dst:             is_perm_in_scope_index
        - Src:             'module_compiler.c:1168,9'
          Dst:             is_perm_in_stack
    - functionName:    is_perm_in_scope
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1186
      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:1173,51'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:1179,29'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:1184,9'
          Dst:             is_perm_in_stack
    - functionName:    is_scope_in_stack
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1104
      functionLinenumberEnd: 1123
      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:1122,9'
          Dst:             is_scope_in_stack
    - functionName:    is_id_in_scope
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1126
      functionLinenumberEnd: 1133
      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:1127,48'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:1132,9'
          Dst:             is_scope_in_stack
    - functionName:    require_cat
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1067
      functionLinenumberEnd: 1100
      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:1068,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:1076,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1082,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1085,2'
          Dst:             cat_datum_init
        - Src:             'module_compiler.c:1088,3'
          Dst:             require_symbol
        - Src:             'module_compiler.c:1091,3'
          Dst:             cat_datum_destroy
        - Src:             'module_compiler.c:1094,4'
          Dst:             print_error_msg
    - functionName:    require_symbol
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 708
      functionLinenumberEnd: 723
      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:710,12'
          Dst:             create_symbol
        - Src:             'module_compiler.c:716,6'
          Dst:             ebitmap_set_bit
    - functionName:    print_error_msg
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 70
      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:56,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_compiler.c:58,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:61,3'
          Dst:             yyerror2
        - Src:             'module_compiler.c:65,3'
          Dst:             yyerror2
        - Src:             'module_compiler.c:68,3'
          Dst:             yyerror2
    - functionName:    create_symbol
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 173
      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:149,7'
          Dst:             is_creation_allowed
        - Src:             'module_compiler.c:153,8'
          Dst:             symtab_insert
        - Src:             'module_compiler.c:157,23'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:159,3'
          Dst:             __assert_fail
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 102
      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:100,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:101,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 93
      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: 1021
      functionLinenumberEnd: 1064
      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:1022,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:1030,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1036,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1039,2'
          Dst:             level_datum_init
        - Src:             'module_compiler.c:1043,3'
          Dst:             level_datum_destroy
        - Src:             'module_compiler.c:1045,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:1048,2'
          Dst:             mls_level_init
        - Src:             'module_compiler.c:1049,11'
          Dst:             require_symbol
        - Src:             'module_compiler.c:1053,3'
          Dst:             mls_level_destroy
        - Src:             'module_compiler.c:1055,3'
          Dst:             level_datum_destroy
        - Src:             'module_compiler.c:1058,4'
          Dst:             print_error_msg
    - functionName:    require_tunable
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1016
      functionLinenumberEnd: 1017
      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:1017,9'
          Dst:             require_bool_tunable
    - functionName:    require_bool_tunable
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 978
      functionLinenumberEnd: 1008
      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:979,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:987,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:990,19'
          Dst:             calloc
        - Src:             'module_compiler.c:991,3'
          Dst:             cond_destroy_bool
        - Src:             'module_compiler.c:992,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:997,11'
          Dst:             require_symbol
        - Src:             'module_compiler.c:1000,3'
          Dst:             cond_destroy_bool
        - Src:             'module_compiler.c:1002,4'
          Dst:             print_error_msg
    - functionName:    require_bool
      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_user
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 952
      functionLinenumberEnd: 975
      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:958,8'
          Dst:             queue_remove
        - Src:             'module_compiler.c:962,8'
          Dst:             create_user
        - Src:             'module_compiler.c:970,3'
          Dst:             user_datum_destroy
    - functionName:    create_user
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 535
      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:487,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:496,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:502,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:507,2'
          Dst:             user_datum_init
        - Src:             'module_compiler.c:510,9'
          Dst:             declare_symbol
        - Src:             'module_compiler.c:512,9'
          Dst:             require_symbol
        - Src:             'module_compiler.c:518,10'
          Dst:             strdup
        - Src:             'module_compiler.c:520,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:528,3'
          Dst:             print_error_msg
        - Src:             'module_compiler.c:530,3'
          Dst:             user_datum_destroy
    - functionName:    declare_symbol
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 202
      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:190,3'
          Dst:             create_symbol
        - Src:             'module_compiler.c:196,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: 947
      functionLinenumberEnd: 948
      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:948,9'
          Dst:             require_type_or_attribute
    - functionName:    require_type_or_attribute
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 939
      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:928,8'
          Dst:             queue_remove
        - Src:             'module_compiler.c:932,8'
          Dst:             create_type
    - functionName:    create_type
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 438
      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:387,15'
          Dst:             queue_remove
        - Src:             'module_compiler.c:389,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:392,6'
          Dst:             strcmp
        - Src:             'module_compiler.c:393,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:400,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:404,2'
          Dst:             type_datum_init
        - Src:             'module_compiler.c:409,9'
          Dst:             declare_symbol
        - Src:             'module_compiler.c:411,9'
          Dst:             require_symbol
        - Src:             'module_compiler.c:418,3'
          Dst:             type_datum_destroy
        - Src:             'module_compiler.c:420,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:422,4'
          Dst:             yyerror2
        - Src:             'module_compiler.c:431,3'
          Dst:             print_error_msg
        - Src:             'module_compiler.c:433,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:    98
      BranchProfiles:  []
      Callsites:       []
    - functionName:    require_type
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 942
      functionLinenumberEnd: 943
      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:943,9'
          Dst:             require_type_or_attribute
    - functionName:    require_attribute_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 918
      functionLinenumberEnd: 919
      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:919,9'
          Dst:             require_role_or_attribute
    - functionName:    require_role_or_attribute
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 881
      functionLinenumberEnd: 910
      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:887,8'
          Dst:             queue_remove
        - Src:             'module_compiler.c:891,8'
          Dst:             create_role
        - Src:             'module_compiler.c:899,9'
          Dst:             ebitmap_set_bit
        - Src:             'module_compiler.c:901,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:905,3'
          Dst:             role_datum_destroy
    - functionName:    create_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 301
      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:240,13'
          Dst:             queue_remove
        - Src:             'module_compiler.c:250,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:256,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:261,2'
          Dst:             role_datum_init
        - Src:             'module_compiler.c:265,9'
          Dst:             declare_symbol
        - Src:             'module_compiler.c:267,9'
          Dst:             require_symbol
        - Src:             'module_compiler.c:273,10'
          Dst:             strdup
        - Src:             'module_compiler.c:275,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:279,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:281,4'
          Dst:             yyerror2
        - Src:             'module_compiler.c:286,4'
          Dst:             role_datum_destroy
        - Src:             'module_compiler.c:294,3'
          Dst:             print_error_msg
        - Src:             'module_compiler.c:296,3'
          Dst:             role_datum_destroy
    - functionName:    require_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 913
      functionLinenumberEnd: 914
      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:914,9'
          Dst:             require_role_or_attribute
    - functionName:    class_datum_destroy
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 769
      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:765,3'
          Dst:             hashtab_map
        - Src:             'module_compiler.c:765,3'
          Dst:             perm_destroy
        - Src:             'module_compiler.c:766,3'
          Dst:             hashtab_destroy
    - functionName:    require_class
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 772
      functionLinenumberEnd: 878
      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:773,19'
          Dst:             queue_remove
        - Src:             'module_compiler.c:781,21'
          Dst:             queue_remove
        - Src:             'module_compiler.c:788,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:792,15'
          Dst:             calloc
        - Src:             'module_compiler.c:793,6'
          Dst:             symtab_init
        - Src:             'module_compiler.c:794,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:795,3'
          Dst:             class_datum_destroy
        - Src:             'module_compiler.c:798,8'
          Dst:             require_symbol
        - Src:             'module_compiler.c:801,3'
          Dst:             print_error_msg
        - Src:             'module_compiler.c:803,3'
          Dst:             class_datum_destroy
        - Src:             'module_compiler.c:809,7'
          Dst:             policydb_index_classes
        - Src:             'module_compiler.c:810,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:814,3'
          Dst:             class_datum_destroy
        - Src:             'module_compiler.c:815,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:816,3'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:821,20'
          Dst:             queue_remove
        - Src:             'module_compiler.c:825,10'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:827,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:835,5'
          Dst:             yyerror2
        - Src:             'module_compiler.c:842,5'
          Dst:             yyerror2
        - Src:             'module_compiler.c:852,16'
          Dst:             calloc
        - Src:             'module_compiler.c:853,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:857,10'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:860,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:868,7'
          Dst:             add_perm_to_class
        - Src:             'module_compiler.c:869,4'
          Dst:             yyerror
    - functionName:    add_perm_to_class
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 726
      functionLinenumberEnd: 751
      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:730,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:731,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:735,24'
          Dst:             realloc
        - Src:             'module_compiler.c:742,4'
          Dst:             ebitmap_init
        - Src:             'module_compiler.c:746,6'
          Dst:             ebitmap_set_bit
    - functionName:    get_local_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 695
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          143
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - hashtab_insert
        - hashtab_search
        - role_datum_destroy
        - role_datum_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:660,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:669,19'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:677,3'
          Dst:             role_datum_init
        - Src:             'module_compiler.c:681,7'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:683,4'
          Dst:             role_datum_destroy
    - functionName:    get_local_type
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 609
      functionLinenumberEnd: 645
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          146
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - hashtab_insert
        - hashtab_search
        - type_datum_destroy
        - type_datum_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'module_compiler.c:612,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:619,18'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:626,3'
          Dst:             type_datum_init
        - Src:             'module_compiler.c:630,7'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:632,4'
          Dst:             type_datum_destroy
    - functionName:    user_implicit_bounds
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 483
      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:458,10'
          Dst:             strrchr
        - Src:             'module_compiler.c:462,14'
          Dst:             strdup
        - Src:             'module_compiler.c:464,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:469,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:471,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: 538
      functionLinenumberEnd: 598
      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:545,8'
          Dst:             create_user
        - Src:             'module_compiler.c:551,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:560,14'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:565,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:569,4'
          Dst:             user_datum_init
        - Src:             'module_compiler.c:574,10'
          Dst:             user_implicit_bounds
        - Src:             'module_compiler.c:577,4'
          Dst:             user_datum_destroy
        - Src:             'module_compiler.c:581,10'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:583,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:585,4'
          Dst:             user_datum_destroy
        - Src:             'module_compiler.c:592,4'
          Dst:             user_datum_destroy
    - functionName:    declare_type
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 449
      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:443,12'
          Dst:             create_type
    - functionName:    role_implicit_bounds
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 235
      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:210,10'
          Dst:             strrchr
        - Src:             'module_compiler.c:214,14'
          Dst:             strdup
        - Src:             'module_compiler.c:216,3'
          Dst:             yyerror
        - Src:             'module_compiler.c:221,11'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:223,3'
          Dst:             yyerror2
    - functionName:    declare_role
      functionSourceFile: '/src/selinux/checkpolicy/module_compiler.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      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:311,8'
          Dst:             create_role
        - Src:             'module_compiler.c:317,2'
          Dst:             __assert_fail
        - Src:             'module_compiler.c:326,14'
          Dst:             hashtab_search
        - Src:             'module_compiler.c:331,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:335,4'
          Dst:             role_datum_init
        - Src:             'module_compiler.c:341,10'
          Dst:             role_implicit_bounds
        - Src:             'module_compiler.c:344,4'
          Dst:             role_datum_destroy
        - Src:             'module_compiler.c:348,10'
          Dst:             hashtab_insert
        - Src:             'module_compiler.c:350,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:352,4'
          Dst:             role_datum_destroy
        - Src:             'module_compiler.c:359,4'
          Dst:             role_datum_destroy
        - Src:             'module_compiler.c:365,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: 73
      functionLinenumberEnd: 119
      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:78,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:83,17'
          Dst:             queue_remove
        - Src:             'module_compiler.c:86,17'
          Dst:             queue_remove
        - Src:             'module_compiler.c:88,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:93,30'
          Dst:             queue_remove
        - Src:             'module_compiler.c:95,5'
          Dst:             yyerror
        - Src:             'module_compiler.c:101,4'
          Dst:             yyerror
        - Src:             'module_compiler.c:111,3'
          Dst:             pop_stack
        - Src:             'module_compiler.c:113,6'
          Dst:             push_stack
    - functionName:    read_source_policy
      functionSourceFile: '/src/selinux/checkpolicy/parse_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 85
      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:42,13'
          Dst:             __errno_location
        - Src:             'parse_util.c:42,4'
          Dst:             strerror
        - Src:             'parse_util.c:41,3'
          Dst:             fprintf
        - Src:             'parse_util.c:46,13'
          Dst:             queue_create
        - Src:             'parse_util.c:48,3'
          Dst:             fprintf
        - Src:             'parse_util.c:54,20'
          Dst:             strdup
        - Src:             'parse_util.c:56,3'
          Dst:             fprintf
        - Src:             'parse_util.c:60,2'
          Dst:             init_parser
        - Src:             'parse_util.c:61,6'
          Dst:             yyparse
        - Src:             'parse_util.c:62,3'
          Dst:             fprintf
        - Src:             'parse_util.c:67,2'
          Dst:             rewind
        - Src:             'parse_util.c:68,2'
          Dst:             init_parser
        - Src:             'parse_util.c:69,2'
          Dst:             yyrestart
        - Src:             'parse_util.c:70,6'
          Dst:             yyparse
        - Src:             'parse_util.c:71,3'
          Dst:             fprintf
        - Src:             'parse_util.c:80,2'
          Dst:             queue_destroy
        - Src:             'parse_util.c:81,2'
          Dst:             fclose
        - Src:             'parse_util.c:82,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: 144
      functionLinenumberEnd: 147
      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:145,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:146,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 93
      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: 96
      functionLinenumberEnd: 102
      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:100,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:101,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: 150
      functionLinenumberEnd: 153
      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:151,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:152,2'
          Dst:             mls_level_destroy
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 117
      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:115,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:116,2'
          Dst:             mls_context_init
    - functionName:    parse_categories
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4390
      functionLinenumberEnd: 4447
      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:4394,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:4396,18'
          Dst:             strchr
        - Src:             'policy_define.c:4400,27'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4403,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4407,27'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4410,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4416,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4421,27'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4424,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4431,8'
          Dst:             ebitmap_get_bit
        - Src:             'policy_define.c:4433,4'
          Dst:             policydb_index_others
        - Src:             'policy_define.c:4434,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4440,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:4441,4'
          Dst:             yyerror
    - functionName:    id_has_dot
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 157
      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:153,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: 4451
      functionLinenumberEnd: 4469
      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:4459,3'
          Dst:             mls_semantic_cat_init
    - functionName:    role_val_to_name_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3223
      functionLinenumberEnd: 3235
      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: 2337
      functionLinenumberEnd: 2356
      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_read_xperm_value
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2039
      functionLinenumberEnd: 2050
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strtoul
        - yyerror2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2040,22'
          Dst:             strtoul
        - Src:             'policy_define.c:2043,3'
          Dst:             yyerror2
    - functionName:    avrule_omit_xperms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2114
      functionLinenumberEnd: 2170
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         31
      ICount:          201
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - calloc
        - yyerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2126,11'
          Dst:             calloc
        - Src:             'policy_define.c:2141,10'
          Dst:             calloc
        - Src:             'policy_define.c:2168,2'
          Dst:             yyerror
    - functionName:    avrule_merge_xperms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2020
      functionLinenumberEnd: 2036
      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: 1972
      functionLinenumberEnd: 2017
      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:2015,2'
          Dst:             yyerror
    - functionName:    avrule_read_xperm_ranges
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2053
      functionLinenumberEnd: 2110
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          193
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - avrule_read_xperm_value
        - queue_remove
        - strcmp
        - yyerror
        - yyerror2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:2061,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2062,7'
          Dst:             strcmp
        - Src:             'policy_define.c:2066,14'
          Dst:             strcmp
        - Src:             'policy_define.c:2069,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:2070,8'
          Dst:             avrule_read_xperm_value
        - Src:             'policy_define.c:2075,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:2094,8'
          Dst:             avrule_read_xperm_value
        - Src:             'policy_define.c:2108,2'
          Dst:             yyerror
    - functionName:    avrule_xperm_func
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2461
      functionLinenumberEnd: 2507
      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:2467,11'
          Dst:             calloc
        - Src:             'policy_define.c:2469,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2494,3'
          Dst:             avrule_xperm_setrangebits
        - Src:             'policy_define.c:2500,6'
          Dst:             avrule_xperms_used
    - functionName:    avrule_xperms_used
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2359
      functionLinenumberEnd: 2367
      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: 2511
      functionLinenumberEnd: 2521
      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: 2381
      functionLinenumberEnd: 2414
      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:2386,11'
          Dst:             calloc
        - Src:             'policy_define.c:2388,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2407,6'
          Dst:             avrule_xperms_used
    - functionName:    avrule_cpy
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2524
      functionLinenumberEnd: 2570
      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:2529,2'
          Dst:             avrule_init
        - Src:             'policy_define.c:2532,6'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:2533,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2536,6'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:2537,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2541,26'
          Dst:             strdup
        - Src:             'policy_define.c:2543,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2551,16'
          Dst:             calloc
        - Src:             'policy_define.c:2553,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2556,3'
          Dst:             class_perm_node_init
    - functionName:    avrule_ioctl_completedriver
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2418
      functionLinenumberEnd: 2456
      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:2422,11'
          Dst:             calloc
        - Src:             'policy_define.c:2424,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2444,4'
          Dst:             avrule_xperm_setrangebits
        - Src:             'policy_define.c:2447,6'
          Dst:             avrule_xperms_used
    - functionName:    avrule_xperm_ranges
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2173
      functionLinenumberEnd: 2197
      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:2178,6'
          Dst:             avrule_read_xperm_ranges
        - Src:             'policy_define.c:2181,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2186,6'
          Dst:             avrule_sort_xperms
        - Src:             'policy_define.c:2188,2'
          Dst:             avrule_merge_xperms
        - Src:             'policy_define.c:2191,7'
          Dst:             avrule_omit_xperms
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 88
      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:85,6'
          Dst:             ebitmap_cpy
    - functionName:    define_range_trans
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6177
      functionLinenumberEnd: 6293
      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:6185,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6190,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:6192,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:6195,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:6197,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:6200,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:6203,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:6213,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6216,2'
          Dst:             range_trans_rule_init
        - Src:             'policy_define.c:6218,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:6219,7'
          Dst:             set_types
        - Src:             'policy_define.c:6223,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:6224,7'
          Dst:             set_types
        - Src:             'policy_define.c:6229,7'
          Dst:             read_classes
        - Src:             'policy_define.c:6233,4'
          Dst:             hashtab_search
        - Src:             'policy_define.c:6235,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6240,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:6242,4'
          Dst:             yyerror
        - Src:             'policy_define.c:6247,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:6249,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6253,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:6255,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6265,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:6266,8'
          Dst:             parse_semantic_categories
        - Src:             'policy_define.c:6274,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:6279,7'
          Dst:             mls_semantic_level_cpy
        - Src:             'policy_define.c:6281,4'
          Dst:             yyerror
        - Src:             'policy_define.c:6286,2'
          Dst:             append_range_trans
        - Src:             'policy_define.c:6290,2'
          Dst:             range_trans_rule_destroy
    - functionName:    set_types
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1665
      functionLinenumberEnd: 1724
      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:1668,6'
          Dst:             strcmp
        - Src:             'policy_define.c:1671,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1680,6'
          Dst:             strcmp
        - Src:             'policy_define.c:1683,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1692,6'
          Dst:             strcmp
        - Src:             'policy_define.c:1698,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1699,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1703,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1705,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1711,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1714,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1721,2'
          Dst:             yyerror
    - functionName:    read_classes
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 411
      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:392,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:393,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:394,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:398,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:400,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:405,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:406,4'
          Dst:             yyerror
    - functionName:    parse_semantic_categories
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4498
      functionLinenumberEnd: 4548
      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:4503,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:4505,18'
          Dst:             strchr
        - Src:             'policy_define.c:4509,27'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4512,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4517,27'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4520,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4525,27'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4528,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4536,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4540,2'
          Dst:             mls_semantic_cat_init
    - functionName:    define_genfs_context_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6020
      functionLinenumberEnd: 6169
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         79
      ICount:          519
      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:6100,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:6027,17'
          Dst:             ebitmap_get_bit
        - Src:             'policy_define.c:6031,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6037,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:6039,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:6040,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:6046,7'
          Dst:             strcmp
        - Src:             'policy_define.c:6050,16'
          Dst:             strcmp
        - Src:             'policy_define.c:6051,14'
          Dst:             calloc
        - Src:             'policy_define.c:6053,4'
          Dst:             yyerror
        - Src:             'policy_define.c:6070,9'
          Dst:             calloc
        - Src:             'policy_define.c:6072,3'
          Dst:             yyerror
        - Src:             'policy_define.c:6076,25'
          Dst:             queue_remove
        - Src:             'policy_define.c:6081,21'
          Dst:             strlen
        - Src:             'policy_define.c:6082,18'
          Dst:             realloc
        - Src:             'policy_define.c:6084,4'
          Dst:             yyerror
        - Src:             'policy_define.c:6093,18'
          Dst:             queue_remove
        - Src:             'policy_define.c:6097,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6123,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6127,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:6129,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6136,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:6142,8'
          Dst:             strcmp
        - Src:             'policy_define.c:6145,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6149,9'
          Dst:             strlen
        - Src:             'policy_define.c:6150,10'
          Dst:             strlen
        - Src:             'policy_define.c:6164,2'
          Dst:             context_destroy
    - functionName:    parse_security_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4697
      functionLinenumberEnd: 4861
      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:    34
      BranchProfiles:  []
      Callsites:
        - Src:             'policy_define.c:4706,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4708,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4710,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4713,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:4716,18'
          Dst:             queue_remove
        - Src:             'policy_define.c:4719,10'
          Dst:             queue_remove
        - Src:             'policy_define.c:4730,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4734,2'
          Dst:             context_init
        - Src:             'policy_define.c:4737,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:4739,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4742,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4743,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4747,29'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4750,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4760,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:4762,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4765,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4766,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4770,25'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4773,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4783,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:4785,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4788,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4789,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4793,29'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4796,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4807,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4809,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4815,32'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4818,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:4826,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4827,9'
          Dst:             parse_categories
        - Src:             'policy_define.c:4836,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4843,8'
          Dst:             ebitmap_cpy
        - Src:             'policy_define.c:4845,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4851,7'
          Dst:             policydb_context_isvalid
        - Src:             'policy_define.c:4852,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4858,2'
          Dst:             context_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 140
      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:139,2'
          Dst:             mls_context_destroy
    - functionName:    context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 122
      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: 6172
      functionLinenumberEnd: 6173
      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:6173,37'
          Dst:             queue_remove
        - Src:             'policy_define.c:6173,9'
          Dst:             define_genfs_context_helper
    - functionName:    define_fs_use
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5968
      functionLinenumberEnd: 6017
      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:5972,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5977,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5978,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5982,9'
          Dst:             calloc
        - Src:             'policy_define.c:5984,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5988,25'
          Dst:             queue_remove
        - Src:             'policy_define.c:5994,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:6003,8'
          Dst:             strcmp
        - Src:             'policy_define.c:6004,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:6007,4'
          Dst:             context_destroy
    - functionName:    ipv6_apply_mask
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5771
      functionLinenumberEnd: 5776
      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: 5749
      functionLinenumberEnd: 5767
      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:5758,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: 5890
      functionLinenumberEnd: 5965
      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:5898,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5903,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5904,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5908,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5910,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5914,10'
          Dst:             strchr
        - Src:             'policy_define.c:5916,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5922,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5924,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5929,2'
          Dst:             __errno_location
        - Src:             'policy_define.c:5930,14'
          Dst:             strtoul
        - Src:             'policy_define.c:5931,6'
          Dst:             __errno_location
        - Src:             'policy_define.c:5932,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5938,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5941,2'
          Dst:             ipv6_cidr_bits_to_mask
        - Src:             'policy_define.c:5943,6'
          Dst:             ipv6_has_host_bits_set
        - Src:             'policy_define.c:5944,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5949,9'
          Dst:             calloc
        - Src:             'policy_define.c:5951,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5955,2'
          Dst:             ipv6_apply_mask
        - Src:             'policy_define.c:5959,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5964,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: 5735
      functionLinenumberEnd: 5745
      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: 5779
      functionLinenumberEnd: 5813
      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:5788,7'
          Dst:             memcmp
        - Src:             'policy_define.c:5789,7'
          Dst:             memcmp
        - Src:             'policy_define.c:5792,5'
          Dst:             inet_ntop
        - Src:             'policy_define.c:5794,5'
          Dst:             inet_ntop
        - Src:             'policy_define.c:5790,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5796,4'
          Dst:             context_destroy
        - Src:             'policy_define.c:5801,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: 5712
      functionLinenumberEnd: 5731
      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: 5816
      functionLinenumberEnd: 5887
      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:5823,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5828,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5829,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5830,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5834,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5836,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5840,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5842,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5849,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5851,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5855,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5857,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5864,7'
          Dst:             ipv6_is_mask_contiguous
        - Src:             'policy_define.c:5865,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5868,6'
          Dst:             ipv6_has_host_bits_set
        - Src:             'policy_define.c:5869,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5872,9'
          Dst:             calloc
        - Src:             'policy_define.c:5874,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5881,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5886,9'
          Dst:             insert_ipv6_node
    - functionName:    define_ipv4_cidr_node_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5633
      functionLinenumberEnd: 5709
      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:5642,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5647,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5648,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5652,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5654,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5658,10'
          Dst:             strchr
        - Src:             'policy_define.c:5660,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5666,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5668,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5673,2'
          Dst:             __errno_location
        - Src:             'policy_define.c:5674,14'
          Dst:             strtoul
        - Src:             'policy_define.c:5675,6'
          Dst:             __errno_location
        - Src:             'policy_define.c:5676,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5684,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5688,10'
          Dst:             __bswap_32
        - Src:             'policy_define.c:5692,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5694,9'
          Dst:             calloc
        - Src:             'policy_define.c:5696,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5703,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5708,9'
          Dst:             insert_ipv4_node
    - functionName:    insert_ipv4_node
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5522
      functionLinenumberEnd: 5556
      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:5535,5'
          Dst:             inet_ntop
        - Src:             'policy_define.c:5537,5'
          Dst:             inet_ntop
        - Src:             'policy_define.c:5533,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5539,4'
          Dst:             context_destroy
    - functionName:    define_ipv4_node_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5559
      functionLinenumberEnd: 5630
      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:5566,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5571,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5572,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5573,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5577,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5579,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5583,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5585,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5591,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5593,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5597,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5599,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5607,9'
          Dst:             __bswap_32
        - Src:             'policy_define.c:5607,38'
          Dst:             __bswap_32
        - Src:             'policy_define.c:5608,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5612,3'
          Dst:             yywarn
        - Src:             'policy_define.c:5615,9'
          Dst:             calloc
        - Src:             'policy_define.c:5617,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5624,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5629,9'
          Dst:             insert_ipv4_node
    - functionName:    define_netif_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5465
      functionLinenumberEnd: 5519
      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:5469,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5474,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5475,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5476,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5480,9'
          Dst:             calloc
        - Src:             'policy_define.c:5482,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5486,25'
          Dst:             queue_remove
        - Src:             'policy_define.c:5491,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5496,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5497,3'
          Dst:             context_destroy
        - Src:             'policy_define.c:5505,8'
          Dst:             strcmp
        - Src:             'policy_define.c:5506,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5508,4'
          Dst:             context_destroy
        - Src:             'policy_define.c:5509,4'
          Dst:             context_destroy
    - functionName:    define_ibendport_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5384
      functionLinenumberEnd: 5462
      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:5390,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5395,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:5397,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5402,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5408,9'
          Dst:             calloc
        - Src:             'policy_define.c:5410,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5414,31'
          Dst:             queue_remove
        - Src:             'policy_define.c:5416,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5421,6'
          Dst:             strlen
        - Src:             'policy_define.c:5422,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5430,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5442,25'
          Dst:             strcmp
        - Src:             'policy_define.c:5444,4'
          Dst:             yyerror2
    - functionName:    define_ibpkey_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5278
      functionLinenumberEnd: 5381
      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:5285,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5290,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:5292,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5296,9'
          Dst:             calloc
        - Src:             'policy_define.c:5298,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5302,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:5304,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5309,7'
          Dst:             inet_pton
        - Src:             'policy_define.c:5312,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5319,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5325,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5337,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5342,7'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5356,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5363,4'
          Dst:             yyerror2
    - functionName:    define_port_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5186
      functionLinenumberEnd: 5275
      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:5192,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5197,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:5199,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5203,9'
          Dst:             calloc
        - Src:             'policy_define.c:5205,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5209,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:5214,7'
          Dst:             strcmp
        - Src:             'policy_define.c:5214,35'
          Dst:             strcmp
        - Src:             'policy_define.c:5216,14'
          Dst:             strcmp
        - Src:             'policy_define.c:5216,42'
          Dst:             strcmp
        - Src:             'policy_define.c:5218,14'
          Dst:             strcmp
        - Src:             'policy_define.c:5218,43'
          Dst:             strcmp
        - Src:             'policy_define.c:5220,14'
          Dst:             strcmp
        - Src:             'policy_define.c:5220,43'
          Dst:             strcmp
        - Src:             'policy_define.c:5223,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5232,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5236,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5251,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:5256,4'
          Dst:             yyerror2
    - functionName:    define_devicetree_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5131
      functionLinenumberEnd: 5183
      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:5135,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5140,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:5141,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5145,9'
          Dst:             calloc
        - Src:             'policy_define.c:5147,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5151,25'
          Dst:             queue_remove
        - Src:             'policy_define.c:5157,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5165,7'
          Dst:             strcmp
        - Src:             'policy_define.c:5166,4'
          Dst:             yyerror2
    - functionName:    define_pcidevice_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5080
      functionLinenumberEnd: 5128
      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:5084,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5089,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5093,9'
          Dst:             calloc
        - Src:             'policy_define.c:5095,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5101,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5112,4'
          Dst:             yyerror2
    - functionName:    define_ioport_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5019
      functionLinenumberEnd: 5077
      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:5023,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5028,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5032,9'
          Dst:             calloc
        - Src:             'policy_define.c:5034,3'
          Dst:             yyerror
        - Src:             'policy_define.c:5042,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:5048,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:5060,4'
          Dst:             yyerror2
    - functionName:    define_iomem_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4956
      functionLinenumberEnd: 5016
      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:4960,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4965,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4969,9'
          Dst:             calloc
        - Src:             'policy_define.c:4971,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4979,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4986,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4998,4'
          Dst:             yyerror2
    - functionName:    define_pirq_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4906
      functionLinenumberEnd: 4953
      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:4910,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4915,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4919,9'
          Dst:             calloc
        - Src:             'policy_define.c:4921,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4927,6'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4938,4'
          Dst:             yyerror2
    - functionName:    define_initial_sid_context
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4864
      functionLinenumberEnd: 4903
      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:4869,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4871,3'
          Dst:             parse_security_context
        - Src:             'policy_define.c:4875,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:4877,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4882,8'
          Dst:             strcmp
        - Src:             'policy_define.c:4887,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4892,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4899,6'
          Dst:             parse_security_context
    - functionName:    mls_add_or_check_level
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4473
      functionLinenumberEnd: 4492
      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:4475,7'
          Dst:             mls_semantic_level_cpy
        - Src:             'policy_define.c:4476,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4485,7'
          Dst:             mls_semantic_cats_merge
        - Src:             'policy_define.c:4486,4'
          Dst:             yyerror
    - functionName:    set_user_roles
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4353
      functionLinenumberEnd: 4387
      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:4356,6'
          Dst:             strcmp
        - Src:             'policy_define.c:4358,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4362,6'
          Dst:             strcmp
        - Src:             'policy_define.c:4364,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4368,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4369,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4373,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4375,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:4381,6'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:4385,2'
          Dst:             yyerror
    - functionName:    define_user
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4551
      functionLinenumberEnd: 4694
      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:4559,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4562,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4564,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:4567,18'
          Dst:             queue_remove
        - Src:             'policy_define.c:4570,10'
          Dst:             queue_remove
        - Src:             'policy_define.c:4579,13'
          Dst:             queue_head
        - Src:             'policy_define.c:4581,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4585,7'
          Dst:             strdup
        - Src:             'policy_define.c:4587,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4591,18'
          Dst:             declare_user
        - Src:             'policy_define.c:4597,3'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4600,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:4601,7'
          Dst:             set_user_roles
        - Src:             'policy_define.c:4606,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4608,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4612,31'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4615,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4625,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4627,8'
          Dst:             parse_semantic_categories
        - Src:             'policy_define.c:4635,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:4638,32'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4641,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:4651,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4653,9'
          Dst:             parse_semantic_categories
        - Src:             'policy_define.c:4662,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:4668,8'
          Dst:             mls_semantic_level_cpy
        - Src:             'policy_define.c:4670,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4676,8'
          Dst:             mls_add_or_check_level
        - Src:             'policy_define.c:4678,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4681,8'
          Dst:             mls_add_or_check_level
        - Src:             'policy_define.c:4683,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4686,8'
          Dst:             mls_add_or_check_level
        - Src:             'policy_define.c:4688,5'
          Dst:             yyerror
    - functionName:    define_cond_expr
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4248
      functionLinenumberEnd: 4350
      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:4272,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:4256,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4264,9'
          Dst:             calloc
        - Src:             'policy_define.c:4266,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4281,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4299,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4312,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4313,4'
          Dst:             cond_expr_destroy
        - Src:             'policy_define.c:4320,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:4322,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4327,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4328,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4333,35'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4336,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:4346,3'
          Dst:             yyerror
    - functionName:    define_conditional
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4136
      functionLinenumberEnd: 4245
      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:4168,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:4144,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4150,4'
          Dst:             cond_expr_destroy
        - Src:             'policy_define.c:4156,10'
          Dst:             define_cond_expr
        - Src:             'policy_define.c:4158,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4171,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4181,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4188,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4203,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4208,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4212,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4223,6'
          Dst:             cond_normalize_expr
        - Src:             'policy_define.c:4224,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4229,11'
          Dst:             get_current_cond_list
        - Src:             'policy_define.c:4234,2'
          Dst:             append_cond_list
        - Src:             'policy_define.c:4242,2'
          Dst:             cond_node_destroy
    - functionName:    define_cexpr
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3989
      functionLinenumberEnd: 4133
      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:4014,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:4000,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:4007,6'
          Dst:             constraint_expr_init
        - Src:             'policy_define.c:4008,3'
          Dst:             yyerror
        - Src:             'policy_define.c:4023,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4024,4'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4038,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4039,4'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4051,4'
          Dst:             yyerror
        - Src:             'policy_define.c:4052,4'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4065,3'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:4066,24'
          Dst:             queue_remove
        - Src:             'policy_define.c:4068,10'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4069,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:4072,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4075,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4079,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:4081,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4086,10'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:4087,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:4089,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4093,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:4097,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:4098,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4104,9'
          Dst:             set_types
        - Src:             'policy_define.c:4105,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4110,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4111,5'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4115,8'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:4116,5'
          Dst:             yyerror
        - Src:             'policy_define.c:4117,5'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:4119,5'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:4124,3'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:4130,2'
          Dst:             yyerror
        - Src:             'policy_define.c:4131,2'
          Dst:             constraint_expr_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 3885
      functionLinenumberEnd: 3986
      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:3904,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:3895,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3900,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3907,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3914,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3922,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3928,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3933,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3937,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3938,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3939,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3943,31'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3946,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3950,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3951,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3956,10'
          Dst:             calloc
        - Src:             'policy_define.c:3958,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3966,17'
          Dst:             constraint_expr_clone
        - Src:             'policy_define.c:3976,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3981,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3983,3'
          Dst:             constraint_expr_destroy
    - functionName:    constraint_expr_clone
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3678
      functionLinenumberEnd: 3713
      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:3685,7'
          Dst:             constraint_expr_init
        - Src:             'policy_define.c:3699,9'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:3703,9'
          Dst:             ebitmap_cpy
        - Src:             'policy_define.c:3711,2'
          Dst:             constraint_expr_destroy
    - functionName:    define_constraint
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3716
      functionLinenumberEnd: 3882
      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:3740,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:3729,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3731,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3736,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3743,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3750,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3758,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3762,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3768,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3773,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3777,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3778,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3779,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3783,31'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3786,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3790,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3791,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3795,10'
          Dst:             calloc
        - Src:             'policy_define.c:3797,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3805,17'
          Dst:             constraint_expr_clone
        - Src:             'policy_define.c:3808,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3820,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3821,3'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3821,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3825,8'
          Dst:             strcmp
        - Src:             'policy_define.c:3831,8'
          Dst:             strcmp
        - Src:             'policy_define.c:3837,6'
          Dst:             yywarn
        - Src:             'policy_define.c:3839,6'
          Dst:             constraint_expr_destroy
        - Src:             'policy_define.c:3845,31'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3850,23'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3857,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:3821,3'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3872,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3877,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3879,3'
          Dst:             constraint_expr_destroy
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 3487
      functionLinenumberEnd: 3675
      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:3501,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3504,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3507,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3510,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:3513,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:3518,2'
          Dst:             type_set_init
        - Src:             'policy_define.c:3519,2'
          Dst:             type_set_init
        - Src:             'policy_define.c:3520,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3521,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3522,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3525,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3526,7'
          Dst:             set_types
        - Src:             'policy_define.c:3532,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3533,7'
          Dst:             strcmp
        - Src:             'policy_define.c:3536,5'
          Dst:             yyerror
        - Src:             'policy_define.c:3542,7'
          Dst:             set_types
        - Src:             'policy_define.c:3546,6'
          Dst:             read_classes
        - Src:             'policy_define.c:3549,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3551,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3554,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3555,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3559,13'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3561,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3568,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:3570,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3577,6'
          Dst:             type_set_expand
        - Src:             'policy_define.c:3580,6'
          Dst:             type_set_expand
        - Src:             'policy_define.c:3583,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3583,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3584,3'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3584,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3585,4'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3585,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3586,10'
          Dst:             policydb_filetrans_insert
        - Src:             'policy_define.c:3592,7'
          Dst:             yyerror2
        - Src:             'policy_define.c:3603,6'
          Dst:             yyerror
        - Src:             'policy_define.c:3585,4'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3608,10'
          Dst:             policydb_filetrans_insert
        - Src:             'policy_define.c:3614,7'
          Dst:             yyerror2
        - Src:             'policy_define.c:3625,6'
          Dst:             yyerror
        - Src:             'policy_define.c:3584,3'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3634,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3637,3'
          Dst:             filename_trans_rule_init
        - Src:             'policy_define.c:3638,3'
          Dst:             append_filename_trans
        - Src:             'policy_define.c:3640,15'
          Dst:             strdup
        - Src:             'policy_define.c:3642,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3645,7'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:3646,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3649,7'
          Dst:             type_set_cpy
        - Src:             'policy_define.c:3650,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3583,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3659,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3660,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3661,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3662,2'
          Dst:             type_set_destroy
        - Src:             'policy_define.c:3663,2'
          Dst:             type_set_destroy
        - Src:             'policy_define.c:3669,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3670,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3671,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3672,2'
          Dst:             type_set_destroy
        - Src:             'policy_define.c:3673,2'
          Dst:             type_set_destroy
    - functionName:    define_cond_filename_trans
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3480
      functionLinenumberEnd: 3483
      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:3481,2'
          Dst:             yyerror
    - functionName:    define_role_allow
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3440
      functionLinenumberEnd: 3477
      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:3445,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3447,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3454,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3457,2'
          Dst:             role_allow_rule_init
        - Src:             'policy_define.c:3459,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3460,7'
          Dst:             set_roles
        - Src:             'policy_define.c:3461,4'
          Dst:             role_allow_rule_destroy
        - Src:             'policy_define.c:3467,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3468,7'
          Dst:             set_roles
        - Src:             'policy_define.c:3469,4'
          Dst:             role_allow_rule_destroy
        - Src:             'policy_define.c:3475,2'
          Dst:             append_role_allow
    - functionName:    set_roles
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3250
      functionLinenumberEnd: 3283
      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:3253,6'
          Dst:             strcmp
        - Src:             'policy_define.c:3255,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3259,6'
          Dst:             strcmp
        - Src:             'policy_define.c:3261,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3264,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3265,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3269,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3271,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3276,6'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3277,3'
          Dst:             yyerror
    - functionName:    role_val_to_name
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3238
      functionLinenumberEnd: 3247
      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:3243,7'
          Dst:             hashtab_map
        - Src:             'policy_define.c:3243,7'
          Dst:             role_val_to_name_helper
    - functionName:    define_role_trans
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3286
      functionLinenumberEnd: 3437
      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:3300,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3302,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3305,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:3307,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:3312,2'
          Dst:             role_set_init
        - Src:             'policy_define.c:3313,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3314,2'
          Dst:             type_set_init
        - Src:             'policy_define.c:3315,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3316,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:3318,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3319,7'
          Dst:             set_roles
        - Src:             'policy_define.c:3323,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3324,7'
          Dst:             set_types
        - Src:             'policy_define.c:3329,7'
          Dst:             read_classes
        - Src:             'policy_define.c:3333,4'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3335,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3340,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3341,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3346,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3348,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3351,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3352,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3356,9'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3358,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3364,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3371,6'
          Dst:             role_set_expand
        - Src:             'policy_define.c:3374,6'
          Dst:             type_set_expand
        - Src:             'policy_define.c:3377,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3377,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3378,3'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3378,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3379,4'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:3379,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:3389,8'
          Dst:             role_val_to_name
        - Src:             'policy_define.c:3385,7'
          Dst:             yyerror2
        - Src:             'policy_define.c:3398,10'
          Dst:             calloc
        - Src:             'policy_define.c:3400,6'
          Dst:             yyerror
        - Src:             'policy_define.c:3379,4'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3378,3'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3377,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:3413,9'
          Dst:             calloc
        - Src:             'policy_define.c:3415,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3423,2'
          Dst:             append_role_trans
        - Src:             'policy_define.c:3425,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3426,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3431,2'
          Dst:             role_set_destroy
        - Src:             'policy_define.c:3432,2'
          Dst:             type_set_destroy
        - Src:             'policy_define.c:3433,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3434,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:3435,2'
          Dst:             ebitmap_destroy
    - functionName:    define_roleattribute
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3157
      functionLinenumberEnd: 3219
      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:3162,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3167,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3169,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3173,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3174,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3178,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3181,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3187,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3188,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3189,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3193,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3196,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3202,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3207,15'
          Dst:             get_local_role
        - Src:             'policy_define.c:3208,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3212,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3213,4'
          Dst:             yyerror
    - functionName:    define_role_attr
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3108
      functionLinenumberEnd: 3154
      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:3113,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3119,11'
          Dst:             declare_role
        - Src:             'policy_define.c:3122,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3123,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3124,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3128,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3131,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3137,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:3142,15'
          Dst:             get_local_role
        - Src:             'policy_define.c:3143,4'
          Dst:             yyerror
        - Src:             'policy_define.c:3147,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:3148,4'
          Dst:             yyerror
    - functionName:    define_attrib_role
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3094
      functionLinenumberEnd: 3105
      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:3096,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:3101,6'
          Dst:             declare_role
    - functionName:    define_role_types
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3054
      functionLinenumberEnd: 3091
      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:3060,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:3065,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3067,3'
          Dst:             yyerror
        - Src:             'policy_define.c:3071,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:3072,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3077,9'
          Dst:             hashtab_search
        - Src:             'policy_define.c:3079,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:3083,9'
          Dst:             get_local_role
        - Src:             'policy_define.c:3085,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:3086,7'
          Dst:             set_types
    - functionName:    define_te_avtab
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3029
      functionLinenumberEnd: 3048
      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:3036,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:3042,6'
          Dst:             define_te_avtab_helper
        - Src:             'policy_define.c:3046,2'
          Dst:             append_avrule
    - functionName:    define_te_avtab_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2826
      functionLinenumberEnd: 3006
      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:2838,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:2842,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2846,2'
          Dst:             avrule_init
        - Src:             'policy_define.c:2850,28'
          Dst:             strdup
        - Src:             'policy_define.c:2853,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2857,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2858,7'
          Dst:             set_types
        - Src:             'policy_define.c:2865,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2866,7'
          Dst:             strcmp
        - Src:             'policy_define.c:2869,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2876,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2882,7'
          Dst:             set_types
        - Src:             'policy_define.c:2891,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2901,8'
          Dst:             read_classes
        - Src:             'policy_define.c:2906,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:2906,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:2909,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2913,3'
          Dst:             class_perm_node_init
        - Src:             'policy_define.c:2906,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:2922,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2924,3'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:2924,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:2927,8'
          Dst:             strcmp
        - Src:             'policy_define.c:2934,8'
          Dst:             strcmp
        - Src:             'policy_define.c:2937,6'
          Dst:             yywarn
        - Src:             'policy_define.c:2944,6'
          Dst:             yywarn
        - Src:             'policy_define.c:2955,5'
          Dst:             hashtab_search
        - Src:             'policy_define.c:2958,17'
          Dst:             hashtab_search
        - Src:             'policy_define.c:2966,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:2972,16'
          Dst:             is_perm_in_scope
        - Src:             'policy_define.c:2976,6'
          Dst:             yyerror2
        - Src:             'policy_define.c:2924,3'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:2999,3'
          Dst:             avrule_destroy
        - Src:             'policy_define.c:3003,2'
          Dst:             ebitmap_destroy
    - functionName:    define_cond_te_avtab
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3009
      functionLinenumberEnd: 3026
      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:3016,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:3022,6'
          Dst:             define_te_avtab_helper
    - functionName:    define_te_avtab_extended_perms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2784
      functionLinenumberEnd: 2819
      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:2792,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:2799,6'
          Dst:             define_te_avtab_xperms_helper
        - Src:             'policy_define.c:2802,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:2803,6'
          Dst:             strcmp
        - Src:             'policy_define.c:2804,8'
          Dst:             define_te_avtab_ioctl
        - Src:             'policy_define.c:2805,13'
          Dst:             strcmp
        - Src:             'policy_define.c:2806,8'
          Dst:             define_te_avtab_netlink
        - Src:             'policy_define.c:2808,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:2815,2'
          Dst:             avrule_destroy
    - functionName:    define_te_avtab_xperms_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2200
      functionLinenumberEnd: 2325
      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:2213,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2216,2'
          Dst:             avrule_init
        - Src:             'policy_define.c:2220,28'
          Dst:             strdup
        - Src:             'policy_define.c:2223,3'
          Dst:             yyerror
        - Src:             'policy_define.c:2227,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2228,7'
          Dst:             set_types
        - Src:             'policy_define.c:2234,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:2235,7'
          Dst:             strcmp
        - Src:             'policy_define.c:2238,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2244,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2249,7'
          Dst:             set_types
        - Src:             'policy_define.c:2257,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2266,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:2267,8'
          Dst:             read_classes
        - Src:             'policy_define.c:2272,7'
          Dst:             queue_head
        - Src:             'policy_define.c:2273,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:2273,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:2276,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2279,3'
          Dst:             class_perm_node_init
        - Src:             'policy_define.c:2288,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:2291,16'
          Dst:             hashtab_search
        - Src:             'policy_define.c:2297,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:2301,15'
          Dst:             is_perm_in_scope
        - Src:             'policy_define.c:2303,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:2273,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:2313,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:2320,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:2322,2'
          Dst:             avrule_destroy
    - functionName:    define_te_avtab_ioctl
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2574
      functionLinenumberEnd: 2657
      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:2581,6'
          Dst:             avrule_xperm_ranges
        - Src:             'policy_define.c:2585,6'
          Dst:             avrule_ioctl_completedriver
        - Src:             'policy_define.c:2588,12'
          Dst:             calloc
        - Src:             'policy_define.c:2590,4'
          Dst:             yyerror
        - Src:             'policy_define.c:2593,7'
          Dst:             avrule_cpy
        - Src:             'policy_define.c:2601,4'
          Dst:             append_avrule
        - Src:             'policy_define.c:2606,6'
          Dst:             avrule_xperm_partialdriver
        - Src:             'policy_define.c:2610,26'
          Dst:             avrule_xperms_used
        - Src:             'policy_define.c:2619,9'
          Dst:             xperms_for_each_bit
        - Src:             'policy_define.c:2620,7'
          Dst:             avrule_xperm_func
        - Src:             'policy_define.c:2625,13'
          Dst:             calloc
        - Src:             'policy_define.c:2627,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2630,8'
          Dst:             avrule_cpy
        - Src:             'policy_define.c:2638,5'
          Dst:             append_avrule
    - functionName:    define_te_avtab_netlink
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2661
      functionLinenumberEnd: 2722
      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:2668,6'
          Dst:             avrule_xperm_ranges
        - Src:             'policy_define.c:2672,6'
          Dst:             avrule_xperm_partialdriver
        - Src:             'policy_define.c:2675,26'
          Dst:             avrule_xperms_used
        - Src:             'policy_define.c:2684,9'
          Dst:             xperms_for_each_bit
        - Src:             'policy_define.c:2685,7'
          Dst:             avrule_xperm_func
        - Src:             'policy_define.c:2690,13'
          Dst:             calloc
        - Src:             'policy_define.c:2692,5'
          Dst:             yyerror
        - Src:             'policy_define.c:2695,8'
          Dst:             avrule_cpy
        - Src:             'policy_define.c:2703,5'
          Dst:             append_avrule
    - functionName:    define_cond_te_avtab_extended_perms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2725
      functionLinenumberEnd: 2781
      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:2733,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:2740,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:2749,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:2756,6'
          Dst:             define_te_avtab_xperms_helper
        - Src:             'policy_define.c:2759,7'
          Dst:             queue_remove
        - Src:             'policy_define.c:2760,6'
          Dst:             strcmp
        - Src:             'policy_define.c:2761,8'
          Dst:             define_te_avtab_ioctl
        - Src:             'policy_define.c:2762,13'
          Dst:             strcmp
        - Src:             'policy_define.c:2763,8'
          Dst:             define_te_avtab_netlink
        - Src:             'policy_define.c:2765,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:2772,2'
          Dst:             avrule_destroy
        - Src:             'policy_define.c:2776,3'
          Dst:             avrule_destroy
    - functionName:    define_cond_pol_list
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1938
      functionLinenumberEnd: 1958
      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: 1867
      functionLinenumberEnd: 1935
      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:1898,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:1874,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1879,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1881,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1884,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:1885,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1889,10'
          Dst:             calloc
        - Src:             'policy_define.c:1891,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1897,8'
          Dst:             declare_symbol
        - Src:             'policy_define.c:1900,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1904,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1908,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1918,3'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1923,23'
          Dst:             queue_remove
        - Src:             'policy_define.c:1925,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1933,2'
          Dst:             cond_destroy_bool
    - functionName:    define_cond_compute_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1844
      functionLinenumberEnd: 1864
      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:1849,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1851,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1853,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1855,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:1860,6'
          Dst:             define_compute_type_helper
    - functionName:    define_compute_type_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1727
      functionLinenumberEnd: 1817
      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:1739,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1742,2'
          Dst:             avrule_init
        - Src:             'policy_define.c:1746,28'
          Dst:             strdup
        - Src:             'policy_define.c:1748,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1752,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:1754,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1755,7'
          Dst:             set_types
        - Src:             'policy_define.c:1759,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1760,7'
          Dst:             strcmp
        - Src:             'policy_define.c:1763,5'
          Dst:             yyerror
        - Src:             'policy_define.c:1769,7'
          Dst:             set_types
        - Src:             'policy_define.c:1773,6'
          Dst:             read_classes
        - Src:             'policy_define.c:1776,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1778,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1781,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1782,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1786,26'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1789,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1795,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:1795,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:1798,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1801,3'
          Dst:             class_perm_node_init
        - Src:             'policy_define.c:1795,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:1807,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:1813,2'
          Dst:             ebitmap_destroy
        - Src:             'policy_define.c:1814,2'
          Dst:             avrule_destroy
    - functionName:    define_compute_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1820
      functionLinenumberEnd: 1841
      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:1825,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1827,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1829,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1831,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:1836,6'
          Dst:             define_compute_type_helper
        - Src:             'policy_define.c:1839,2'
          Dst:             append_avrule
    - functionName:    define_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1567
      functionLinenumberEnd: 1653
      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:1577,13'
          Dst:             queue_remove
        - Src:             'policy_define.c:1580,17'
          Dst:             strrchr
        - Src:             'policy_define.c:1582,20'
          Dst:             strdup
        - Src:             'policy_define.c:1584,6'
          Dst:             yyerror
        - Src:             'policy_define.c:1591,11'
          Dst:             define_typebounds_helper
        - Src:             'policy_define.c:1602,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:1606,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1611,15'
          Dst:             declare_type
        - Src:             'policy_define.c:1616,7'
          Dst:             add_aliases_to_type
        - Src:             'policy_define.c:1621,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1622,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1623,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1627,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1630,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1636,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1641,15'
          Dst:             get_local_type
        - Src:             'policy_define.c:1642,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1646,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1647,4'
          Dst:             yyerror
    - functionName:    define_typebounds_helper
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1485
      functionLinenumberEnd: 1534
      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:1490,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1491,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1495,11'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1497,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1501,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1502,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1506,9'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1508,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1512,7'
          Dst:             strdup
        - Src:             'policy_define.c:1514,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1518,9'
          Dst:             get_local_type
        - Src:             'policy_define.c:1520,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1527,3'
          Dst:             yyerror2
    - functionName:    add_aliases_to_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1309
      functionLinenumberEnd: 1373
      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:1331,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:1313,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1314,7'
          Dst:             id_has_dot
        - Src:             'policy_define.c:1315,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1321,16'
          Dst:             calloc
        - Src:             'policy_define.c:1324,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1329,9'
          Dst:             declare_symbol
        - Src:             'policy_define.c:1333,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1337,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1341,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1349,4'
          Dst:             type_datum_destroy
        - Src:             'policy_define.c:1352,17'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1354,4'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1363,4'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1370,2'
          Dst:             type_datum_destroy
    - functionName:    define_typebounds
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1537
      functionLinenumberEnd: 1564
      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:1541,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1546,19'
          Dst:             queue_remove
        - Src:             'policy_define.c:1548,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1552,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1553,7'
          Dst:             define_typebounds_helper
    - functionName:    define_typeattribute
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1410
      functionLinenumberEnd: 1482
      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:1415,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1420,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1422,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1426,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1427,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1431,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1433,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1440,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1450,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1451,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1452,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1456,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1459,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1465,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1470,15'
          Dst:             get_local_type
        - Src:             'policy_define.c:1471,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1475,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1476,4'
          Dst:             yyerror
    - functionName:    define_typealias
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1376
      functionLinenumberEnd: 1407
      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:1381,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1386,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1388,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1392,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1393,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1397,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1399,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1406,9'
          Dst:             add_aliases_to_type
    - functionName:    yywarn2
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 108
      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:105,2'
          Dst:             vsnprintf
        - Src:             'policy_define.c:106,2'
          Dst:             yywarn
    - functionName:    expand_attrib
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1231
      functionLinenumberEnd: 1306
      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:1243,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:1250,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:1251,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1252,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:1253,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1257,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1259,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1264,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1268,7'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1269,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1276,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1278,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1282,7'
          Dst:             strcmp
        - Src:             'policy_define.c:1288,2'
          Dst:             ebitmap_start
        - Src:             'policy_define.c:1288,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policy_define.c:1290,10'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1294,4'
          Dst:             yywarn2
        - Src:             'policy_define.c:1288,2'
          Dst:             ebitmap_next
        - Src:             'policy_define.c:1303,2'
          Dst:             ebitmap_destroy
    - functionName:    define_attrib
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1218
      functionLinenumberEnd: 1228
      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:1220,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:1224,6'
          Dst:             declare_type
    - functionName:    clone_level
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1094
      functionLinenumberEnd: 1114
      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:1106,7'
          Dst:             mls_level_cpy
    - functionName:    define_level
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1117
      functionLinenumberEnd: 1215
      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:1122,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1127,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:1132,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1134,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1137,30'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1140,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1145,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1152,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1156,7'
          Dst:             id_has_dot
        - Src:             'policy_define.c:1158,19'
          Dst:             strchr
        - Src:             'policy_define.c:1162,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1166,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1171,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1174,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1181,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1187,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:1190,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:1198,8'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:1199,5'
          Dst:             yyerror
        - Src:             'policy_define.c:1208,6'
          Dst:             hashtab_map
        - Src:             'policy_define.c:1208,6'
          Dst:             clone_level
        - Src:             'policy_define.c:1210,3'
          Dst:             yyerror
    - functionName:    define_category
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 962
      functionLinenumberEnd: 1090
      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:997,2'
          Branch Sides:    []
        - Branch String:   'policy_define.c:1043,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:969,3'
          Dst:             yyerror
        - Src:             'policy_define.c:974,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:979,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:981,3'
          Dst:             yyerror
        - Src:             'policy_define.c:984,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:985,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:990,3'
          Dst:             yyerror
        - Src:             'policy_define.c:993,2'
          Dst:             cat_datum_init
        - Src:             'policy_define.c:996,8'
          Dst:             declare_symbol
        - Src:             'policy_define.c:999,3'
          Dst:             yyerror
        - Src:             'policy_define.c:1003,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1007,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:1015,3'
          Dst:             cat_datum_destroy
        - Src:             'policy_define.c:1021,3'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1025,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:1026,7'
          Dst:             id_has_dot
        - Src:             'policy_define.c:1027,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1034,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1038,3'
          Dst:             cat_datum_init
        - Src:             'policy_define.c:1042,9'
          Dst:             declare_symbol
        - Src:             'policy_define.c:1045,4'
          Dst:             yyerror
        - Src:             'policy_define.c:1049,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1054,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:1062,4'
          Dst:             cat_datum_destroy
        - Src:             'policy_define.c:1068,4'
          Dst:             __assert_fail
        - Src:             'policy_define.c:1078,3'
          Dst:             cat_datum_destroy
        - Src:             'policy_define.c:1086,3'
          Dst:             cat_datum_destroy
    - functionName:    define_dominance
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 914
      functionLinenumberEnd: 959
      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:920,3'
          Dst:             yyerror
        - Src:             'policy_define.c:925,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:931,23'
          Dst:             queue_remove
        - Src:             'policy_define.c:932,28'
          Dst:             hashtab_search
        - Src:             'policy_define.c:935,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:942,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:955,3'
          Dst:             yyerror
    - functionName:    define_sens
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 768
      functionLinenumberEnd: 911
      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:816,2'
          Branch Sides:    []
        - Branch String:   'policy_define.c:862,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:776,3'
          Dst:             yyerror
        - Src:             'policy_define.c:781,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:786,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:788,3'
          Dst:             yyerror
        - Src:             'policy_define.c:791,6'
          Dst:             id_has_dot
        - Src:             'policy_define.c:792,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:798,3'
          Dst:             yyerror
        - Src:             'policy_define.c:801,2'
          Dst:             mls_level_init
        - Src:             'policy_define.c:803,2'
          Dst:             ebitmap_init
        - Src:             'policy_define.c:807,3'
          Dst:             yyerror
        - Src:             'policy_define.c:810,2'
          Dst:             level_datum_init
        - Src:             'policy_define.c:815,8'
          Dst:             declare_symbol
        - Src:             'policy_define.c:818,3'
          Dst:             yyerror
        - Src:             'policy_define.c:822,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:826,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:833,3'
          Dst:             level_datum_destroy
        - Src:             'policy_define.c:839,3'
          Dst:             __assert_fail
        - Src:             'policy_define.c:843,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:844,7'
          Dst:             id_has_dot
        - Src:             'policy_define.c:845,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:852,4'
          Dst:             yyerror
        - Src:             'policy_define.c:856,3'
          Dst:             level_datum_init
        - Src:             'policy_define.c:861,9'
          Dst:             declare_symbol
        - Src:             'policy_define.c:864,4'
          Dst:             yyerror
        - Src:             'policy_define.c:868,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:874,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:882,4'
          Dst:             level_datum_destroy
        - Src:             'policy_define.c:888,4'
          Dst:             __assert_fail
        - Src:             'policy_define.c:899,3'
          Dst:             level_datum_destroy
        - Src:             'policy_define.c:907,3'
          Dst:             level_datum_destroy
    - functionName:    define_av_perms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 652
      functionLinenumberEnd: 765
      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:660,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:665,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:667,3'
          Dst:             yyerror
        - Src:             'policy_define.c:670,30'
          Dst:             hashtab_search
        - Src:             'policy_define.c:673,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:678,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:685,6'
          Dst:             symtab_init
        - Src:             'policy_define.c:686,3'
          Dst:             yyerror
        - Src:             'policy_define.c:690,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:692,4'
          Dst:             yyerror
        - Src:             'policy_define.c:695,32'
          Dst:             hashtab_search
        - Src:             'policy_define.c:699,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:711,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:712,14'
          Dst:             calloc
        - Src:             'policy_define.c:714,4'
          Dst:             yyerror
        - Src:             'policy_define.c:720,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:731,32'
          Dst:             hashtab_search
        - Src:             'policy_define.c:735,5'
          Dst:             yyerror2
        - Src:             'policy_define.c:741,9'
          Dst:             hashtab_insert
        - Src:             'policy_define.c:746,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:750,4'
          Dst:             yyerror
        - Src:             'policy_define.c:753,7'
          Dst:             add_perm_to_class
        - Src:             'policy_define.c:754,4'
          Dst:             yyerror
    - functionName:    define_common_perms
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 649
      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:570,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:575,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:577,3'
          Dst:             yyerror
        - Src:             'policy_define.c:580,13'
          Dst:             hashtab_search
        - Src:             'policy_define.c:582,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:586,13'
          Dst:             calloc
        - Src:             'policy_define.c:588,3'
          Dst:             yyerror
        - Src:             'policy_define.c:591,8'
          Dst:             hashtab_insert
        - Src:             'policy_define.c:595,3'
          Dst:             yyerror
        - Src:             'policy_define.c:599,3'
          Dst:             yyerror
        - Src:             'policy_define.c:603,6'
          Dst:             symtab_init
        - Src:             'policy_define.c:604,3'
          Dst:             yyerror
        - Src:             'policy_define.c:608,17'
          Dst:             queue_remove
        - Src:             'policy_define.c:609,14'
          Dst:             calloc
        - Src:             'policy_define.c:611,4'
          Dst:             yyerror
        - Src:             'policy_define.c:617,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:622,9'
          Dst:             hashtab_insert
        - Src:             'policy_define.c:627,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:632,4'
          Dst:             yyerror
    - functionName:    define_default_range
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 525
      functionLinenumberEnd: 560
      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:530,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:535,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:536,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:537,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:541,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:543,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:549,4'
          Dst:             yyerror2
    - functionName:    define_default_type
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 488
      functionLinenumberEnd: 522
      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:493,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:498,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:499,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:500,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:504,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:506,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:511,4'
          Dst:             yyerror2
    - functionName:    define_default_role
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 485
      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:456,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:461,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:462,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:463,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:467,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:469,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:474,4'
          Dst:             yyerror2
    - functionName:    define_default_user
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 448
      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:419,16'
          Dst:             queue_remove
        - Src:             'policy_define.c:424,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:425,8'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:426,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:430,14'
          Dst:             hashtab_search
        - Src:             'policy_define.c:432,4'
          Dst:             yyerror2
        - Src:             'policy_define.c:437,4'
          Dst:             yyerror2
    - functionName:    define_initial_sid
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 385
      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:345,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:350,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:352,3'
          Dst:             yyerror
        - Src:             'policy_define.c:355,9'
          Dst:             calloc
        - Src:             'policy_define.c:357,3'
          Dst:             yyerror
        - Src:             'policy_define.c:361,2'
          Dst:             context_init
        - Src:             'policy_define.c:365,8'
          Dst:             strcmp
        - Src:             'policy_define.c:366,4'
          Dst:             yyerror2
    - functionName:    define_polcap
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 337
      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:307,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:312,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:314,3'
          Dst:             yyerror
        - Src:             'policy_define.c:319,11'
          Dst:             sepol_polcap_getnum
        - Src:             'policy_define.c:321,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:326,6'
          Dst:             ebitmap_set_bit
        - Src:             'policy_define.c:327,3'
          Dst:             yyerror
    - functionName:    define_neveraudit
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 298
      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:264,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:267,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:275,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:276,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:281,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:283,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:289,3'
          Dst:             yyerror2
    - functionName:    define_permissive
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 255
      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:221,9'
          Dst:             queue_remove
        - Src:             'policy_define.c:224,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:232,7'
          Dst:             is_id_in_scope
        - Src:             'policy_define.c:233,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:238,6'
          Dst:             hashtab_search
        - Src:             'policy_define.c:240,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:246,3'
          Dst:             yyerror2
    - functionName:    define_class
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 213
      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:183,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policy_define.c:167,8'
          Dst:             queue_remove
        - Src:             'policy_define.c:172,15'
          Dst:             queue_remove
        - Src:             'policy_define.c:174,3'
          Dst:             yyerror
        - Src:             'policy_define.c:177,10'
          Dst:             calloc
        - Src:             'policy_define.c:179,3'
          Dst:             yyerror
        - Src:             'policy_define.c:182,8'
          Dst:             declare_symbol
        - Src:             'policy_define.c:185,3'
          Dst:             yyerror
        - Src:             'policy_define.c:189,3'
          Dst:             yyerror2
        - Src:             'policy_define.c:193,3'
          Dst:             yyerror
        - Src:             'policy_define.c:203,3'
          Dst:             __assert_fail
    - functionName:    insert_id
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 147
      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:131,10'
          Dst:             strdup
        - Src:             'policy_define.c:133,3'
          Dst:             yyerror
        - Src:             'policy_define.c:137,11'
          Dst:             queue_push
        - Src:             'policy_define.c:139,11'
          Dst:             queue_insert
        - Src:             'policy_define.c:142,3'
          Dst:             yyerror
    - functionName:    insert_separator
      functionSourceFile: '/src/selinux/checkpolicy/policy_define.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 124
      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:115,11'
          Dst:             queue_push
        - Src:             'policy_define.c:117,11'
          Dst:             queue_insert
        - Src:             'policy_define.c:120,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: 163
      functionLinenumberEnd: 196
      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: 2061
      functionLinenumberEnd: 2070
      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: 2090
      functionLinenumberEnd: 4046
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         796
      ICount:          3831
      EdgeCount:       1049
      CyclomaticComplexity: 255
      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_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:2328,3'
          Branch Sides:    []
      Callsites:
        - Src:             'y.tab.c:2254,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:715,30'
          Dst:             define_port_context
        - Src:             'policy_parse.y:717,30'
          Dst:             define_port_context
        - Src:             'policy_parse.y:726,30'
          Dst:             define_ibpkey_context
        - Src:             'policy_parse.y:728,30'
          Dst:             define_ibpkey_context
        - Src:             'policy_parse.y:737,30'
          Dst:             define_ibendport_context
        - Src:             'policy_parse.y:746,30'
          Dst:             define_netif_context
        - Src:             'policy_parse.y:755,30'
          Dst:             define_ipv4_node_context
        - Src:             'policy_parse.y:757,30'
          Dst:             define_ipv4_cidr_node_context
        - Src:             'policy_parse.y:759,30'
          Dst:             define_ipv6_node_context
        - Src:             'policy_parse.y:761,30'
          Dst:             define_ipv6_cidr_node_context
        - Src:             'policy_parse.y:770,30'
          Dst:             define_fs_use
        - Src:             'policy_parse.y:772,30'
          Dst:             define_fs_use
        - Src:             'policy_parse.y:774,30'
          Dst:             define_fs_use
        - Src:             'policy_parse.y:783,30'
          Dst:             define_genfs_context
        - Src:             'policy_parse.y:784,61'
          Dst:             insert_id
        - Src:             'policy_parse.y:785,30'
          Dst:             define_genfs_context
        - Src:             'policy_parse.y:787,30'
          Dst:             define_genfs_context
        - Src:             'policy_parse.y:790,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:793,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:796,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:798,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:800,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:802,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:803,10'
          Dst:             insert_separator
        - Src:             'policy_parse.y:810,39'
          Dst:             insert_id
        - Src:             'policy_parse.y:815,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:823,30'
          Dst:             insert_separator
        - Src:             'policy_parse.y:825,30'
          Dst:             insert_separator
        - Src:             'policy_parse.y:828,30'
          Dst:             insert_separator
        - Src:             'policy_parse.y:830,30'
          Dst:             insert_separator
        - Src:             'policy_parse.y:840,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:842,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:844,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:845,10'
          Dst:             insert_separator
        - Src:             'policy_parse.y:847,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:848,10'
          Dst:             insert_separator
        - Src:             'policy_parse.y:850,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:851,10'
          Dst:             insert_separator
        - Src:             'policy_parse.y:852,48'
          Dst:             insert_id
        - Src:             'policy_parse.y:853,31'
          Dst:             insert_separator
        - Src:             'policy_parse.y:856,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:859,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:871,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:880,50'
          Dst:             insert_id
        - Src:             'policy_parse.y:883,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:886,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:888,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:891,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:893,34'
          Dst:             strlen
        - Src:             'policy_parse.y:893,66'
          Dst:             insert_id
        - Src:             'policy_parse.y:896,34'
          Dst:             strlen
        - Src:             'policy_parse.y:896,66'
          Dst:             insert_id
        - Src:             'policy_parse.y:899,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:901,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:903,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:907,6'
          Dst:             __errno_location
        - Src:             'policy_parse.y:908,10'
          Dst:             strtoul
        - Src:             'policy_parse.y:909,10'
          Dst:             __errno_location
        - Src:             'policy_parse.y:920,6'
          Dst:             __errno_location
        - Src:             'policy_parse.y:921,10'
          Dst:             strtoull
        - Src:             'policy_parse.y:922,10'
          Dst:             __errno_location
        - Src:             'policy_parse.y:928,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:931,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:934,30'
          Dst:             define_polcap
        - Src:             'policy_parse.y:937,30'
          Dst:             define_permissive
        - Src:             'policy_parse.y:939,30'
          Dst:             define_neveraudit
        - Src:             'policy_parse.y:944,31'
          Dst:             end_avrule_block
        - Src:             'policy_parse.y:945,31'
          Dst:             policydb_index_others
        - Src:             'policy_parse.y:949,31'
          Dst:             define_policy
        - Src:             'policy_parse.y:952,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:954,31'
          Dst:             insert_id
        - Src:             'policy_parse.y:978,31'
          Dst:             require_class
        - Src:             'policy_parse.y:996,31'
          Dst:             end_avrule_block
        - Src:             'policy_parse.y:998,31'
          Dst:             end_optional
        - Src:             'policy_parse.y:1001,31'
          Dst:             end_avrule_block
        - Src:             'policy_parse.y:1005,31'
          Dst:             begin_optional
        - Src:             'policy_parse.y:1008,31'
          Dst:             begin_optional_else
        - Src:             'y.tab.c:3866,7'
          Dst:             yyerror
        - Src:             'y.tab.c:3916,11'
          Dst:             yydestruct
        - Src:             'y.tab.c:3970,7'
          Dst:             yydestruct
        - Src:             'y.tab.c:4010,3'
          Dst:             yyerror
        - Src:             'y.tab.c:4025,7'
          Dst:             yydestruct
        - Src:             'y.tab.c:4034,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:    check_assertion_extended_permissions_avtab
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 672
      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:556,2'
          Dst:             ebitmap_start
        - Src:             'assertion.c:556,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:558,3'
          Dst:             ebitmap_start
        - Src:             'assertion.c:558,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:560,16'
          Dst:             avtab_search_node
        - Src:             'assertion.c:572,9'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:561,22'
          Dst:             avtab_search_node_next
        - Src:             'assertion.c:590,11'
          Dst:             match_node_key
        - Src:             'assertion.c:595,10'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:617,10'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:628,11'
          Dst:             match_node_key
        - Src:             'assertion.c:633,10'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:655,10'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:558,3'
          Dst:             ebitmap_next
        - Src:             'assertion.c:556,2'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 102
      functionLinenumberEnd: 125
      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:107,9'
          Dst:             extended_permissions_and
        - Src:             'assertion.c:117,8'
          Dst:             extended_permissions_and
        - Src:             'assertion.c:121,9'
          Dst:             extended_permissions_and
    - functionName:    match_node_key
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 172
      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: 79
      functionLinenumberEnd: 86
      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: 59
      functionLinenumberEnd: 66
      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: 90
      functionLinenumberEnd: 98
      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:    check_assertion_extended_permissions
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 773
      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:701,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:702,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:703,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:705,7'
          Dst:             ebitmap_and
        - Src:             'assertion.c:718,9'
          Dst:             ebitmap_cpy
        - Src:             'assertion.c:722,9'
          Dst:             ebitmap_and
        - Src:             'assertion.c:728,8'
          Dst:             ebitmap_and
        - Src:             'assertion.c:734,9'
          Dst:             ebitmap_and
        - Src:             'assertion.c:740,10'
          Dst:             ebitmap_union
        - Src:             'assertion.c:752,2'
          Dst:             ebitmap_start
        - Src:             'assertion.c:752,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:753,3'
          Dst:             ebitmap_start
        - Src:             'assertion.c:753,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:758,8'
          Dst:             check_assertion_extended_permissions_avtab
        - Src:             'assertion.c:753,3'
          Dst:             ebitmap_next
        - Src:             'assertion.c:752,2'
          Dst:             ebitmap_next
        - Src:             'assertion.c:770,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:771,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:772,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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_self_match
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 837
      functionLinenumberEnd: 861
      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:845,7'
          Dst:             ebitmap_and
        - Src:             'assertion.c:850,7'
          Dst:             ebitmap_match_any
        - Src:             'assertion.c:860,2'
          Dst:             ebitmap_destroy
    - functionName:    check_assertion_notself_match
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 832
      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:783,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:784,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:786,7'
          Dst:             ebitmap_and
        - Src:             'assertion.c:793,8'
          Dst:             ebitmap_cpy
        - Src:             'assertion.c:797,8'
          Dst:             ebitmap_and
        - Src:             'assertion.c:803,20'
          Dst:             ebitmap_cardinality
        - Src:             'assertion.c:804,20'
          Dst:             ebitmap_cardinality
        - Src:             'assertion.c:812,8'
          Dst:             ebitmap_and
        - Src:             'assertion.c:814,4'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:817,17'
          Dst:             ebitmap_cardinality
        - Src:             'assertion.c:818,3'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:830,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:831,2'
          Dst:             ebitmap_destroy
    - functionName:    policy_name
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 42
      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: 132
      functionLinenumberEnd: 165
      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: 49
      functionLinenumberEnd: 75
      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:50,18'
          Dst:             sepol_av_to_string
        - Src:             'assertion.c:53,3'
          Dst:             policy_name
    - functionName:    report_assertion_extended_permissions
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 398
      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:196,2'
          Dst:             ebitmap_start
        - Src:             'assertion.c:196,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:198,3'
          Dst:             ebitmap_start
        - Src:             'assertion.c:198,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:200,16'
          Dst:             avtab_search_node
        - Src:             'assertion.c:212,9'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:216,6'
          Dst:             extended_permissions_violated
        - Src:             'assertion.c:219,7'
          Dst:             sepol_extended_perms_to_string
        - Src:             'assertion.c:222,6'
          Dst:             policy_name
        - Src:             'assertion.c:201,22'
          Dst:             avtab_search_node_next
        - Src:             'assertion.c:252,11'
          Dst:             match_node_key
        - Src:             'assertion.c:255,10'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:277,10'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:281,7'
          Dst:             extended_permissions_violated
        - Src:             'assertion.c:285,8'
          Dst:             sepol_extended_perms_to_string
        - Src:             'assertion.c:288,7'
          Dst:             policy_name
        - Src:             'assertion.c:314,11'
          Dst:             match_node_key
        - Src:             'assertion.c:317,10'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:339,10'
          Dst:             check_extended_permissions
        - Src:             'assertion.c:343,7'
          Dst:             extended_permissions_violated
        - Src:             'assertion.c:347,8'
          Dst:             sepol_extended_perms_to_string
        - Src:             'assertion.c:350,7'
          Dst:             policy_name
        - Src:             'assertion.c:198,3'
          Dst:             ebitmap_next
        - Src:             'assertion.c:196,2'
          Dst:             ebitmap_next
        - Src:             'assertion.c:383,19'
          Dst:             sepol_av_to_string
        - Src:             'assertion.c:385,3'
          Dst:             policy_name
    - functionName:    check_assertions
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 946
      functionLinenumberEnd: 976
      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:955,8'
          Dst:             check_assertion
        - Src:             'assertion.c:962,9'
          Dst:             report_assertion_failures
    - functionName:    check_assertion
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 941
      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:933,7'
          Dst:             avtab_map
        - Src:             'assertion.c:933,7'
          Dst:             check_assertion_avtab_match
        - Src:             'assertion.c:937,8'
          Dst:             avtab_map
        - Src:             'assertion.c:937,8'
          Dst:             check_assertion_avtab_match
    - functionName:    report_assertion_failures
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 533
      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:519,7'
          Dst:             avtab_map
        - Src:             'assertion.c:519,7'
          Dst:             report_assertion_avtab_matches
        - Src:             'assertion.c:524,7'
          Dst:             avtab_map
        - Src:             'assertion.c:524,7'
          Dst:             report_assertion_avtab_matches
    - functionName:    report_assertion_avtab_matches
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 505
      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:420,7'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:424,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:425,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:426,2'
          Dst:             ebitmap_init
        - Src:             'assertion.c:428,7'
          Dst:             ebitmap_and
        - Src:             'assertion.c:439,9'
          Dst:             ebitmap_cpy
        - Src:             'assertion.c:443,9'
          Dst:             ebitmap_and
        - Src:             'assertion.c:449,8'
          Dst:             ebitmap_and
        - Src:             'assertion.c:455,9'
          Dst:             ebitmap_and
        - Src:             'assertion.c:461,10'
          Dst:             ebitmap_union
        - Src:             'assertion.c:477,3'
          Dst:             ebitmap_start
        - Src:             'assertion.c:477,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:478,4'
          Dst:             ebitmap_start
        - Src:             'assertion.c:478,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'assertion.c:486,7'
          Dst:             report_assertion_extended_permissions
        - Src:             'assertion.c:492,6'
          Dst:             report_failure
        - Src:             'assertion.c:478,4'
          Dst:             ebitmap_next
        - Src:             'assertion.c:477,3'
          Dst:             ebitmap_next
        - Src:             'assertion.c:501,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:502,2'
          Dst:             ebitmap_destroy
        - Src:             'assertion.c:503,2'
          Dst:             ebitmap_destroy
    - functionName:    check_assertion_avtab_match
      functionSourceFile: '/src/selinux/libsepol/src/assertion.c'
      linkageType:     InternalLinkage
      functionLinenumber: 866
      functionLinenumberEnd: 920
      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:875,7'
          Dst:             match_any_class_permissions
        - Src:             'assertion.c:879,7'
          Dst:             ebitmap_match_any
        - Src:             'assertion.c:884,8'
          Dst:             check_assertion_notself_match
        - Src:             'assertion.c:891,8'
          Dst:             ebitmap_match_any
        - Src:             'assertion.c:894,10'
          Dst:             check_assertion_self_match
        - Src:             'assertion.c:906,8'
          Dst:             check_assertion_extended_permissions
    - functionName:    is_perm_existent
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 203
      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:192,9'
          Dst:             hashtab_search
        - Src:             'avrule_block.c:196,10'
          Dst:             hashtab_search
    - functionName:    is_id_enabled
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 183
      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:150,48'
          Dst:             hashtab_search
    - functionName:    get_decl_cond_list
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 141
      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:136,11'
          Dst:             cond_node_find
    - functionName:    avrule_block_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 127
      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:124,3'
          Dst:             avrule_block_destroy
    - functionName:    avrule_block_destroy
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 118
      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:114,3'
          Dst:             avrule_decl_destroy
    - functionName:    avrule_decl_destroy
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 103
      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:92,2'
          Dst:             cond_list_destroy
        - Src:             'avrule_block.c:93,2'
          Dst:             avrule_list_destroy
        - Src:             'avrule_block.c:94,2'
          Dst:             role_trans_rule_list_destroy
        - Src:             'avrule_block.c:95,2'
          Dst:             filename_trans_rule_list_destroy
        - Src:             'avrule_block.c:96,2'
          Dst:             role_allow_rule_list_destroy
        - Src:             'avrule_block.c:97,2'
          Dst:             range_trans_rule_list_destroy
        - Src:             'avrule_block.c:98,2'
          Dst:             scope_index_destroy
        - Src:             'avrule_block.c:99,2'
          Dst:             scope_index_destroy
        - Src:             'avrule_block.c:100,2'
          Dst:             symtabs_destroy
    - functionName:    scope_index_destroy
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 85
      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:77,3'
          Dst:             ebitmap_destroy
        - Src:             'avrule_block.c:81,4'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 47
      functionLinenumberEnd: 66
      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:50,14'
          Dst:             calloc
        - Src:             'avrule_block.c:55,7'
          Dst:             symtab_init
        - Src:             'avrule_block.c:56,4'
          Dst:             avrule_decl_destroy
        - Src:             'avrule_block.c:62,3'
          Dst:             ebitmap_init
        - Src:             'avrule_block.c:63,3'
          Dst:             ebitmap_init
    - functionName:    avrule_block_create
      functionSourceFile: '/src/selinux/libsepol/src/avrule_block.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 44
      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:40,15'
          Dst:             calloc
    - functionName:    avtab_insertf
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 501
      functionLinenumberEnd: 502
      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:502,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: 90
      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: 54
      functionLinenumberEnd: 65
      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: 506
      functionLinenumberEnd: 547
      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:512,7'
          Dst:             next_entry
        - Src:             'avtab.c:519,6'
          Dst:             exceeds_available_bytes
        - Src:             'avtab.c:524,7'
          Dst:             avtab_alloc
        - Src:             'avtab.c:531,8'
          Dst:             avtab_read_item
        - Src:             'avtab.c:531,8'
          Dst:             avtab_insertf
        - Src:             'avtab.c:545,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: 424
      functionLinenumberEnd: 497
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         95
      ICount:          644
      EdgeCount:       122
      CyclomaticComplexity: 29
      functionsReached:
        - next_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'avtab.c:438,7'
          Dst:             next_entry
        - Src:             'avtab.c:468,8'
          Dst:             next_entry
        - Src:             'avtab.c:474,8'
          Dst:             next_entry
        - Src:             'avtab.c:480,8'
          Dst:             next_entry
        - Src:             'avtab.c:489,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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avtab_hash_eval
      functionSourceFile: '/src/selinux/libsepol/src/avtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 418
      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:    5
      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:    12
      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:    9
      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: 621
      functionLinenumberEnd: 698
      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:634,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:671,8'
          Dst:             avtab_search
        - Src:             'conditional.c:679,13'
          Dst:             avtab_insert_nonunique
    - functionName:    cond_read_av_list
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 702
      functionLinenumberEnd: 734
      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:710,7'
          Dst:             next_entry
        - Src:             'conditional.c:724,8'
          Dst:             avtab_read_item
        - Src:             'conditional.c:724,8'
          Dst:             cond_insertf
        - Src:             'conditional.c:727,4'
          Dst:             cond_av_list_destroy
    - functionName:    cond_av_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expr_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 750
      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: 895
      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: 868
      functionLinenumberEnd: 892
      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:874,14'
          Dst:             avtab_search_node
        - Src:             'conditional.c:875,14'
          Dst:             avtab_search_node_next
    - functionName:    cond_read_node
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 753
      functionLinenumberEnd: 824
      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:758,7'
          Dst:             next_entry
        - Src:             'conditional.c:764,7'
          Dst:             next_entry
        - Src:             'conditional.c:772,8'
          Dst:             next_entry
        - Src:             'conditional.c:785,8'
          Dst:             expr_isvalid
        - Src:             'conditional.c:799,7'
          Dst:             cond_read_av_list
        - Src:             'conditional.c:801,7'
          Dst:             cond_read_av_list
        - Src:             'conditional.c:805,7'
          Dst:             avrule_read_list
        - Src:             'conditional.c:807,7'
          Dst:             avrule_read_list
        - Src:             'conditional.c:813,8'
          Dst:             next_entry
        - Src:             'conditional.c:821,2'
          Dst:             cond_node_destroy
    - functionName:    cond_node_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 498
      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:493,2'
          Dst:             cond_expr_destroy
        - Src:             'conditional.c:494,2'
          Dst:             avrule_list_destroy
        - Src:             'conditional.c:495,2'
          Dst:             avrule_list_destroy
        - Src:             'conditional.c:496,2'
          Dst:             cond_av_list_destroy
        - Src:             'conditional.c:497,2'
          Dst:             cond_av_list_destroy
    - functionName:    cond_expr_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 486
      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: 827
      functionLinenumberEnd: 861
      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:832,7'
          Dst:             next_entry
        - Src:             'conditional.c:838,7'
          Dst:             avtab_alloc
        - Src:             'conditional.c:848,7'
          Dst:             cond_read_node
    - functionName:    bool_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 567
      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: 535
      functionLinenumberEnd: 539
      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: 543
      functionLinenumberEnd: 560
      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: 523
      functionLinenumberEnd: 531
      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:526,48'
          Dst:             calloc
    - functionName:    cond_policydb_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 520
      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:518,2'
          Dst:             avtab_destroy
        - Src:             'conditional.c:519,2'
          Dst:             cond_list_destroy
    - functionName:    cond_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 501
      functionLinenumberEnd: 512
      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:509,3'
          Dst:             cond_node_destroy
    - functionName:    cond_policydb_init
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 463
      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:459,6'
          Dst:             avtab_init
    - functionName:    evaluate_cond_node
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 335
      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:311,14'
          Dst:             cond_evaluate_expr
    - functionName:    cond_evaluate_expr
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 265
      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:218,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    evaluate_conds
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 443
      functionLinenumberEnd: 453
      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:448,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: 343
      functionLinenumberEnd: 440
      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:387,3'
          Branch Sides:    []
      Callsites:
        - Src:             'conditional.c:390,9'
          Dst:             bool_present
        - Src:             'conditional.c:422,8'
          Dst:             cond_evaluate_expr
    - functionName:    cond_node_search
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 200
      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:194,24'
          Dst:             cond_node_find
    - functionName:    cond_node_find
      functionSourceFile: '/src/selinux/libsepol/src/conditional.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 188
      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:179,7'
          Dst:             cond_expr_equal
        - Src:             'conditional.c:187,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: 268
      functionLinenumberEnd: 297
      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: 54
      functionLinenumberEnd: 56
      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: 144
      functionLinenumberEnd: 147
      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:145,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:146,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 93
      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: 96
      functionLinenumberEnd: 102
      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:100,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:101,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: 150
      functionLinenumberEnd: 153
      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:151,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:152,2'
          Dst:             mls_level_destroy
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 117
      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:115,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:116,2'
          Dst:             mls_context_init
    - functionName:    sepol_context_check
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 325
      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:322,12'
          Dst:             context_from_record
        - Src:             'context.c:323,2'
          Dst:             context_destroy
    - functionName:    context_from_record
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 226
      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:146,22'
          Dst:             sepol_context_get_user
        - Src:             'context.c:146,15'
          Dst:             strdup
        - Src:             'context.c:147,22'
          Dst:             sepol_context_get_role
        - Src:             'context.c:147,15'
          Dst:             strdup
        - Src:             'context.c:148,22'
          Dst:             sepol_context_get_type
        - Src:             'context.c:148,15'
          Dst:             strdup
        - Src:             'context.c:149,20'
          Dst:             sepol_context_get_mls
        - Src:             'context.c:156,2'
          Dst:             context_init
        - Src:             'context.c:159,29'
          Dst:             hashtab_search
        - Src:             'context.c:168,29'
          Dst:             hashtab_search
        - Src:             'context.c:177,29'
          Dst:             hashtab_search
        - Src:             'context.c:194,14'
          Dst:             mls_from_string
        - Src:             'context.c:198,7'
          Dst:             context_is_valid
        - Src:             'context.c:216,2'
          Dst:             __errno_location
        - Src:             'context.c:217,2'
          Dst:             context_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 140
      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:139,2'
          Dst:             mls_context_destroy
    - functionName:    context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 122
      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: 33
      functionLinenumberEnd: 74
      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:38,2'
          Dst:             ebitmap_init
        - Src:             'context.c:39,2'
          Dst:             ebitmap_init
        - Src:             'context.c:54,17'
          Dst:             ebitmap_get_bit
        - Src:             'context.c:65,8'
          Dst:             ebitmap_get_bit
        - Src:             'context.c:70,7'
          Dst:             mls_context_isvalid
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 280
      functionLinenumberEnd: 315
      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:299,6'
          Dst:             sepol_context_from_string
        - Src:             'context.c:303,6'
          Dst:             context_from_record
        - Src:             'context.c:307,2'
          Dst:             sepol_context_free
        - Src:             'context.c:313,2'
          Dst:             sepol_context_free
    - functionName:    context_to_record
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 272
      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:237,6'
          Dst:             sepol_context_create
        - Src:             'context.c:240,6'
          Dst:             sepol_context_set_user
        - Src:             'context.c:245,6'
          Dst:             sepol_context_set_role
        - Src:             'context.c:250,6'
          Dst:             sepol_context_set_type
        - Src:             'context.c:256,7'
          Dst:             mls_to_string
        - Src:             'context.c:259,7'
          Dst:             sepol_context_set_mls
        - Src:             'context.c:269,2'
          Dst:             sepol_context_free
    - functionName:    context_to_string
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 132
      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:93,3'
          Dst:             strlen
        - Src:             'context.c:95,3'
          Dst:             strlen
        - Src:             'context.c:96,18'
          Dst:             strlen
        - Src:             'context.c:97,18'
          Dst:             mls_compute_context_len
        - Src:             'context.c:112,2'
          Dst:             sprintf
        - Src:             'context.c:117,9'
          Dst:             strlen
        - Src:             'context.c:118,9'
          Dst:             strlen
        - Src:             'context.c:119,9'
          Dst:             strlen
        - Src:             'context.c:121,2'
          Dst:             mls_sid_to_context
    - 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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sepol_check_context
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 22
      functionLinenumberEnd: 23
      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:23,39'
          Dst:             strlen
        - Src:             'context.c:23,9'
          Dst:             sepol_context_to_sid
    - functionName:    policydb_context_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 17
      functionLinenumberEnd: 18
      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:18,9'
          Dst:             context_is_valid
    - functionName:    sepol_context_to_string
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 305
      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:261,3'
          Dst:             strlen
        - Src:             'context_record.c:262,3'
          Dst:             strlen
        - Src:             'context_record.c:263,3'
          Dst:             strlen
        - Src:             'context_record.c:264,16'
          Dst:             strlen
        - Src:             'context_record.c:282,8'
          Dst:             snprintf
        - Src:             'context_record.c:285,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: 185
      functionLinenumberEnd: 252
      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:189,7'
          Dst:             strcmp
        - Src:             'context_record.c:194,6'
          Dst:             sepol_context_create
        - Src:             'context_record.c:198,8'
          Dst:             strdup
        - Src:             'context_record.c:208,15'
          Dst:             strchr
        - Src:             'context_record.c:212,6'
          Dst:             sepol_context_set_user
        - Src:             'context_record.c:217,15'
          Dst:             strchr
        - Src:             'context_record.c:221,6'
          Dst:             sepol_context_set_role
        - Src:             'context_record.c:226,15'
          Dst:             strchr
        - Src:             'context_record.c:227,7'
          Dst:             sepol_context_set_type
        - Src:             'context_record.c:231,7'
          Dst:             sepol_context_set_type
        - Src:             'context_record.c:234,7'
          Dst:             sepol_context_set_mls
        - Src:             'context_record.c:244,2'
          Dst:             __errno_location
        - Src:             'context_record.c:250,2'
          Dst:             sepol_context_free
    - functionName:    sepol_context_create
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 130
      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: 32
      functionLinenumberEnd: 45
      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:33,19'
          Dst:             strdup
    - functionName:    sepol_context_set_role
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 67
      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:56,19'
          Dst:             strdup
    - functionName:    sepol_context_set_type
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 89
      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:78,19'
          Dst:             strdup
    - functionName:    sepol_context_set_mls
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 111
      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:100,18'
          Dst:             strdup
    - functionName:    sepol_context_free
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 181
      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: 135
      functionLinenumberEnd: 168
      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:143,6'
          Dst:             sepol_context_create
        - Src:             'context_record.c:146,24'
          Dst:             strdup
        - Src:             'context_record.c:149,24'
          Dst:             strdup
        - Src:             'context_record.c:152,24'
          Dst:             strdup
        - Src:             'context_record.c:155,35'
          Dst:             strdup
        - Src:             'context_record.c:166,2'
          Dst:             sepol_context_free
    - functionName:    sepol_context_get_mls
      functionSourceFile: '/src/selinux/libsepol/src/context_record.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 94
      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: 71
      functionLinenumberEnd: 72
      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: 49
      functionLinenumberEnd: 50
      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: 26
      functionLinenumberEnd: 27
      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: 74
      functionLinenumberEnd: 77
      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: 32
      functionLinenumberEnd: 33
      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: 27
      functionLinenumberEnd: 28
      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: 41
      functionLinenumberEnd: 64
      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:45,2'
          Branch Sides:    []
      Callsites:
        - Src:             'debug.c:45,10'
          Dst:             sepol_msg_get_level
        - Src:             'debug.c:56,29'
          Dst:             sepol_msg_get_channel
        - Src:             'debug.c:57,3'
          Dst:             sepol_msg_get_fname
        - Src:             'debug.c:56,2'
          Dst:             fprintf
        - Src:             'debug.c:60,2'
          Dst:             vfprintf
        - Src:             'debug.c:63,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: 535
      functionLinenumberEnd: 643
      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:541,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:543,7'
          Dst:             next_entry
        - Src:             'ebitmap.c:573,8'
          Dst:             next_entry
        - Src:             'ebitmap.c:600,8'
          Dst:             next_entry
        - Src:             'ebitmap.c:642,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 516
      functionLinenumberEnd: 532
      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: 496
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_init_range
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 445
      functionLinenumberEnd: 493
      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:454,2'
          Dst:             ebitmap_init
    - functionName:    ebitmap_set_bit
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 442
      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: 350
      functionLinenumberEnd: 368
      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: 328
      functionLinenumberEnd: 347
      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: 301
      functionLinenumberEnd: 325
      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: 273
      functionLinenumberEnd: 298
      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:277,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:283,4'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_cmp
      functionSourceFile: '/src/selinux/libsepol/src/ebitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 270
      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: 237
      functionLinenumberEnd: 249
      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:241,6'
          Dst:             ebitmap_cmp
        - Src:             'ebitmap.c:243,7'
          Dst:             ebitmap_xor
        - Src:             'ebitmap.c:246,13'
          Dst:             ebitmap_cardinality
        - Src:             'ebitmap.c:247,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: 226
      functionLinenumberEnd: 233
      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: 211
      functionLinenumberEnd: 223
      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:214,2'
          Dst:             ebitmap_init
        - Src:             'ebitmap.c:215,7'
          Dst:             ebitmap_not
        - Src:             'ebitmap.c:218,7'
          Dst:             ebitmap_and
        - Src:             'ebitmap.c:219,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: 3711
      functionLinenumberEnd: 3752
      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:3738,2'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:3716,9'
          Dst:             avtab_search_node
        - Src:             'expand.c:3719,10'
          Dst:             avtab_insert_nonunique
    - functionName:    expand_avtab_insert
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3567
      functionLinenumberEnd: 3627
      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:3607,2'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:3579,10'
          Dst:             avtab_search_node
        - Src:             'expand.c:3587,11'
          Dst:             avtab_search_node_next
        - Src:             'expand.c:3592,10'
          Dst:             avtab_search_node
        - Src:             'expand.c:3597,10'
          Dst:             avtab_insert_nonunique
    - functionName:    mls_range_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 141
      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:128,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:131,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:137,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 88
      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:85,6'
          Dst:             ebitmap_cpy
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 102
      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:100,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:101,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 93
      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: 52
      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:48,6'
          Dst:             mls_range_cpy
    - functionName:    context_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2384
      functionLinenumberEnd: 2404
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          249
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - mls_context_cpy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2403,9'
          Dst:             mls_context_cpy
    - functionName:    ocontext_copy_xen
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2407
      functionLinenumberEnd: 2470
      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:2431,4'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:2451,17'
          Dst:             strdup
        - Src:             'expand.c:2462,8'
          Dst:             context_copy
    - functionName:    ocontext_copy_selinux
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2473
      functionLinenumberEnd: 2566
      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:2497,4'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:2503,17'
          Dst:             strdup
        - Src:             'expand.c:2508,9'
          Dst:             context_copy
        - Src:             'expand.c:2523,6'
          Dst:             strdup
        - Src:             'expand.c:2541,17'
          Dst:             strdup
        - Src:             'expand.c:2558,8'
          Dst:             context_copy
    - functionName:    ebitmap_expand_roles
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 105
      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:82,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:83,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:83,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:85,3'
          Dst:             __assert_fail
        - Src:             'expand.c:87,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:88,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:92,8'
          Dst:             ebitmap_union
        - Src:             'expand.c:93,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:83,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:98,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:99,6'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:100,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:103,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 381
      functionLinenumberEnd: 475
      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:395,20'
          Dst:             calloc
        - Src:             'expand.c:398,8'
          Dst:             constraint_expr_init
        - Src:             'expand.c:411,10'
          Dst:             map_ebitmap
        - Src:             'expand.c:420,10'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:427,10'
          Dst:             map_ebitmap
        - Src:             'expand.c:432,10'
          Dst:             ebitmap_expand_roles
        - Src:             'expand.c:438,10'
          Dst:             map_ebitmap
        - Src:             'expand.c:445,10'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:473,2'
          Dst:             constraint_expr_destroy
    - functionName:    map_ebitmap
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 73
      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:64,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:66,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:66,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:69,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:66,2'
          Dst:             ebitmap_next
    - functionName:    expand_convert_type_set
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2691
      functionLinenumberEnd: 2710
      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:2694,2'
          Dst:             type_set_init
        - Src:             'expand.c:2696,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:2699,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:2704,6'
          Dst:             type_set_expand
        - Src:             'expand.c:2707,2'
          Dst:             type_set_destroy
    - functionName:    type_set_expand
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2826
      functionLinenumberEnd: 2934
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         111
      ICount:          582
      EdgeCount:       150
      CyclomaticComplexity: 41
      functionsReached:
        - 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:2835,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2836,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2839,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2839,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2855,8'
          Dst:             ebitmap_union
        - Src:             'expand.c:2859,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2839,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:2866,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2867,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2867,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2877,8'
          Dst:             ebitmap_union
        - Src:             'expand.c:2882,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2867,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:2891,8'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2896,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2902,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2902,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2903,8'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2904,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2902,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:2912,9'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2916,8'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2917,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2920,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2930,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2932,2'
          Dst:             ebitmap_destroy
    - functionName:    class_copy_default_new_object
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 518
      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: 287
      functionLinenumberEnd: 320
      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:303,11'
          Dst:             strdup
        - Src:             'expand.c:312,8'
          Dst:             hashtab_insert
    - functionName:    cond_avrule_list_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2268
      functionLinenumberEnd: 2283
      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:2273,7'
          Dst:             convert_and_expand_rule
    - functionName:    convert_and_expand_rule
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2232
      functionLinenumberEnd: 2262
      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:2242,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2243,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2249,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:2252,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:2256,11'
          Dst:             expand_rule_helper
        - Src:             'expand.c:2259,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2260,2'
          Dst:             ebitmap_destroy
    - functionName:    expand_rule_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2172
      functionLinenumberEnd: 2219
      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:2177,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2177,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2181,14'
          Dst:             expand_avrule_helper
        - Src:             'expand.c:2188,14'
          Dst:             expand_terule_helper
        - Src:             'expand.c:2197,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:2197,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2200,14'
          Dst:             expand_avrule_helper
        - Src:             'expand.c:2207,14'
          Dst:             expand_terule_helper
        - Src:             'expand.c:2197,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:2177,2'
          Dst:             ebitmap_next
    - functionName:    expand_avrule_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2100
      functionLinenumberEnd: 2165
      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:2130,3'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:2113,20'
          Dst:             avrule_to_avtab_spec
        - Src:             'expand.c:2119,10'
          Dst:             find_avtab_node
        - Src:             'expand.c:2153,8'
          Dst:             allocate_xperms
    - functionName:    expand_terule_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1957
      functionLinenumberEnd: 2055
      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:         80
      ICount:          595
      EdgeCount:       105
      CyclomaticComplexity: 27
      functionsReached:
        - avrule_to_avtab_spec
        - avtab_search_node
        - find_avtab_node
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1971,20'
          Dst:             avrule_to_avtab_spec
        - Src:             'expand.c:1995,10'
          Dst:             avtab_search_node
        - Src:             'expand.c:1999,11'
          Dst:             avtab_search_node
        - Src:             'expand.c:2039,10'
          Dst:             find_avtab_node
    - functionName:    avrule_to_avtab_spec
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1942
      functionLinenumberEnd: 1944
      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: 1868
      functionLinenumberEnd: 1939
      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:1880,11'
          Dst:             avtab_search_node
        - Src:             'expand.c:1889,12'
          Dst:             avtab_search_node_next
        - Src:             'expand.c:1896,10'
          Dst:             avtab_search_node
        - Src:             'expand.c:1905,11'
          Dst:             avtab_search_node_next
        - Src:             'expand.c:1919,10'
          Dst:             avtab_insert_nonunique
    - functionName:    allocate_xperms
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2060
      functionLinenumberEnd: 2093
      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:2074,2'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:2065,38'
          Dst:             calloc
    - functionName:    cond_node_map_bools
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2286
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         47
      ICount:          303
      EdgeCount:       60
      CyclomaticComplexity: 15
      functionsReached:
        - cond_normalize_expr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2310,6'
          Dst:             cond_normalize_expr
    - functionName:    mls_level_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 107
      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:107,36'
          Dst:             ebitmap_cmp
    - functionName:    mls_range_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 159
      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:158,10'
          Dst:             mls_level_eq
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:159,3'
          Dst:             mls_level_eq
    - functionName:    exp_rangetr_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1747
      functionLinenumberEnd: 1806
      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:1752,14'
          Dst:             calloc
        - Src:             'expand.c:1758,6'
          Dst:             mls_semantic_range_expand
        - Src:             'expand.c:1766,6'
          Dst:             hashtab_search
        - Src:             'expand.c:1768,7'
          Dst:             mls_range_eq
        - Src:             'expand.c:1770,4'
          Dst:             mls_range_destroy
        - Src:             'expand.c:1783,7'
          Dst:             calloc
        - Src:             'expand.c:1792,7'
          Dst:             hashtab_insert
        - Src:             'expand.c:1802,3'
          Dst:             mls_range_destroy
    - functionName:    mls_semantic_range_expand
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1192
      functionLinenumberEnd: 1208
      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:1193,6'
          Dst:             mls_semantic_level_expand
        - Src:             'expand.c:1196,6'
          Dst:             mls_semantic_level_expand
        - Src:             'expand.c:1197,3'
          Dst:             mls_level_destroy
        - Src:             'expand.c:1201,7'
          Dst:             mls_level_dom
        - Src:             'expand.c:1202,3'
          Dst:             mls_range_destroy
    - functionName:    mls_range_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 153
      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:151,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:152,2'
          Dst:             mls_level_destroy
    - functionName:    mls_semantic_level_expand
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1121
      functionLinenumberEnd: 1188
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         101
      ICount:          685
      EdgeCount:       132
      CyclomaticComplexity: 33
      functionsReached:
        - __errno_location
        - ebitmap_get_bit
        - ebitmap_set_bit
        - hashtab_search
        - mls_level_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1126,2'
          Dst:             mls_level_init
        - Src:             'expand.c:1141,30'
          Dst:             hashtab_search
        - Src:             'expand.c:1147,3'
          Dst:             __errno_location
        - Src:             'expand.c:1172,9'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:1180,8'
          Dst:             ebitmap_set_bit
    - functionName:    mls_level_dom
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 113
      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:113,36'
          Dst:             ebitmap_contains
    - functionName:    expand_filename_trans_helper
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1661
      functionLinenumberEnd: 1693
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          302
      EdgeCount:       47
      CyclomaticComplexity: 12
      functionsReached:
        - policydb_filetrans_insert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:1671,7'
          Dst:             policydb_filetrans_insert
    - functionName:    cond_node_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2322
      functionLinenumberEnd: 2380
      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:2328,6'
          Dst:             cond_node_copy
        - Src:             'expand.c:2338,6'
          Dst:             cond_normalize_expr
        - Src:             'expand.c:2345,8'
          Dst:             cond_node_create
        - Src:             'expand.c:2351,6'
          Dst:             cond_node_map_bools
        - Src:             'expand.c:2352,3'
          Dst:             cond_node_destroy
        - Src:             'expand.c:2358,13'
          Dst:             cond_node_search
        - Src:             'expand.c:2360,3'
          Dst:             cond_node_destroy
        - Src:             'expand.c:2365,2'
          Dst:             cond_node_destroy
        - Src:             'expand.c:2368,6'
          Dst:             cond_avrule_list_copy
        - Src:             'expand.c:2373,6'
          Dst:             cond_avrule_list_copy
    - functionName:    copy_neverallow
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2939
      functionLinenumberEnd: 3037
      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:2945,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2946,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2948,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:2951,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:2959,2'
          Dst:             avrule_init
        - Src:             'expand.c:2965,29'
          Dst:             strdup
        - Src:             'expand.c:2970,6'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:2973,6'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:2983,3'
          Dst:             class_perm_node_init
        - Src:             'expand.c:2985,3'
          Dst:             __assert_fail
        - Src:             'expand.c:3001,12'
          Dst:             calloc
        - Src:             'expand.c:3018,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:3019,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:3024,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:3025,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:3026,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:3027,2'
          Dst:             ebitmap_destroy
    - functionName:    expand_range_trans
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1809
      functionLinenumberEnd: 1859
      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:1820,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1821,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1824,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1829,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1831,4'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1837,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:1837,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1839,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:1839,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1841,5'
          Dst:             ebitmap_start
        - Src:             'expand.c:1841,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1843,10'
          Dst:             exp_rangetr_helper
        - Src:             'expand.c:1846,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1847,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1841,5'
          Dst:             ebitmap_next
        - Src:             'expand.c:1839,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:1837,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:1854,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1855,3'
          Dst:             ebitmap_destroy
    - functionName:    expand_filename_trans
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1697
      functionLinenumberEnd: 1742
      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:1706,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1707,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1709,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1715,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1721,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:1721,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1722,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:1722,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1723,10'
          Dst:             expand_filename_trans_helper
        - Src:             'expand.c:1722,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:1729,10'
          Dst:             expand_filename_trans_helper
        - Src:             'expand.c:1721,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:1736,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1737,3'
          Dst:             ebitmap_destroy
    - functionName:    copy_role_trans
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1544
      functionLinenumberEnd: 1656
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         120
      ICount:          780
      EdgeCount:       156
      CyclomaticComplexity: 38
      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:1557,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1558,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1560,7'
          Dst:             role_set_expand
        - Src:             'expand.c:1565,7'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:1570,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:1570,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1571,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:1571,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1572,5'
          Dst:             ebitmap_start
        - Src:             'expand.c:1572,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1572,5'
          Dst:             ebitmap_next
        - Src:             'expand.c:1571,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:1570,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:1650,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1651,3'
          Dst:             ebitmap_destroy
    - functionName:    role_set_expand
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2751
      functionLinenumberEnd: 2815
      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:2758,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2762,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2767,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2768,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2771,7'
          Dst:             map_ebitmap
        - Src:             'expand.c:2773,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:2773,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2775,4'
          Dst:             __assert_fail
        - Src:             'expand.c:2777,9'
          Dst:             ebitmap_union
        - Src:             'expand.c:2780,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2773,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:2785,7'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:2789,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:2789,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2790,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2789,2'
          Dst:             ebitmap_next
        - Src:             'expand.c:2794,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2795,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2800,8'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:2801,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2804,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2812,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2813,2'
          Dst:             ebitmap_destroy
    - functionName:    copy_role_allows
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1476
      functionLinenumberEnd: 1541
      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:1489,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1490,3'
          Dst:             ebitmap_init
        - Src:             'expand.c:1492,7'
          Dst:             role_set_expand
        - Src:             'expand.c:1498,7'
          Dst:             role_set_expand
        - Src:             'expand.c:1504,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:1504,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1505,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:1505,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1505,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:1504,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:1534,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1535,3'
          Dst:             ebitmap_destroy
    - functionName:    expand_cond_av_node
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3756
      functionLinenumberEnd: 3813
      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:3774,10'
          Dst:             expand_cond_insert
        - Src:             'expand.c:3780,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3780,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3782,9'
          Dst:             expand_cond_insert
        - Src:             'expand.c:3780,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3792,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3792,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3794,9'
          Dst:             expand_cond_insert
        - Src:             'expand.c:3792,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3802,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:3802,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3803,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3803,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3806,9'
          Dst:             expand_cond_insert
        - Src:             'expand.c:3803,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3802,2'
          Dst:             ebitmap_next
    - functionName:    expand_cond_av_list
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3817
      functionLinenumberEnd: 3836
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:3822,6'
          Dst:             avtab_alloc
        - Src:             'expand.c:3830,8'
          Dst:             expand_cond_av_node
    - functionName:    expand_avtab_node
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3635
      functionLinenumberEnd: 3693
      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:3654,10'
          Dst:             expand_avtab_insert
        - Src:             'expand.c:3660,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3660,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3662,9'
          Dst:             expand_avtab_insert
        - Src:             'expand.c:3660,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3672,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3672,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3674,9'
          Dst:             expand_avtab_insert
        - Src:             'expand.c:3672,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3682,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:3682,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3683,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:3683,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:3686,9'
          Dst:             expand_avtab_insert
        - Src:             'expand.c:3683,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:3682,2'
          Dst:             ebitmap_next
    - functionName:    expand_avtab
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3696
      functionLinenumberEnd: 3707
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:3699,6'
          Dst:             avtab_alloc
        - Src:             'expand.c:3706,9'
          Dst:             avtab_map
        - Src:             'expand.c:3706,9'
          Dst:             expand_avtab_node
    - functionName:    type_attr_map
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2638
      functionLinenumberEnd: 2684
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          249
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - ebitmap_cpy
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:2655,8'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:2659,4'
          Dst:             ebitmap_start
        - Src:             'expand.c:2659,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:2660,9'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2659,4'
          Dst:             ebitmap_next
        - Src:             'expand.c:2667,8'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:2673,7'
          Dst:             ebitmap_set_bit
    - functionName:    genfs_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2586
      functionLinenumberEnd: 2634
      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:2598,22'
          Dst:             strdup
        - Src:             'expand.c:2618,19'
          Dst:             strdup
        - Src:             'expand.c:2625,4'
          Dst:             context_copy
    - functionName:    ocontext_copy
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2569
      functionLinenumberEnd: 2583
      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:2571,2'
          Branch Sides:    []
      Callsites:
        - Src:             'expand.c:2573,8'
          Dst:             ocontext_copy_selinux
        - Src:             'expand.c:2576,8'
          Dst:             ocontext_copy_xen
    - functionName:    constraint_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 606
      functionLinenumberEnd: 629
      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:615,14'
          Dst:             hashtab_search
        - Src:             'expand.c:622,6'
          Dst:             constraint_node_clone
        - Src:             'expand.c:624,6'
          Dst:             constraint_node_clone
    - functionName:    bool_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1327
      functionLinenumberEnd: 1381
      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:1337,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1356,11'
          Dst:             strdup
        - Src:             'expand.c:1366,8'
          Dst:             hashtab_insert
    - functionName:    user_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 705
      functionLinenumberEnd: 735
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          274
      EdgeCount:       53
      CyclomaticComplexity: 14
      functionsReached:
        - hashtab_search
        - is_id_enabled
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:714,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:723,9'
          Dst:             hashtab_search
    - functionName:    user_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1212
      functionLinenumberEnd: 1323
      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:1224,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1233,19'
          Dst:             hashtab_search
        - Src:             'expand.c:1246,12'
          Dst:             strdup
        - Src:             'expand.c:1252,9'
          Dst:             hashtab_insert
        - Src:             'expand.c:1257,4'
          Dst:             user_datum_destroy
        - Src:             'expand.c:1264,7'
          Dst:             mls_semantic_range_expand
        - Src:             'expand.c:1269,7'
          Dst:             mls_semantic_level_expand
        - Src:             'expand.c:1274,8'
          Dst:             mls_level_dom
        - Src:             'expand.c:1274,8'
          Dst:             mls_level_dom
        - Src:             'expand.c:1286,7'
          Dst:             mls_semantic_range_expand
        - Src:             'expand.c:1290,7'
          Dst:             mls_semantic_level_expand
        - Src:             'expand.c:1292,4'
          Dst:             mls_range_destroy
        - Src:             'expand.c:1295,8'
          Dst:             mls_range_eq
        - Src:             'expand.c:1296,8'
          Dst:             mls_level_eq
        - Src:             'expand.c:1297,4'
          Dst:             mls_range_destroy
        - Src:             'expand.c:1298,4'
          Dst:             mls_level_destroy
        - Src:             'expand.c:1301,3'
          Dst:             mls_range_destroy
        - Src:             'expand.c:1302,3'
          Dst:             mls_level_destroy
        - Src:             'expand.c:1305,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:1308,6'
          Dst:             role_set_expand
        - Src:             'expand.c:1311,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1315,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:1317,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1320,2'
          Dst:             ebitmap_destroy
    - functionName:    cats_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1436
      functionLinenumberEnd: 1473
      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:1441,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1452,2'
          Dst:             cat_datum_init
        - Src:             'expand.c:1453,11'
          Dst:             strdup
        - Src:             'expand.c:1460,6'
          Dst:             hashtab_insert
        - Src:             'expand.c:1469,2'
          Dst:             cat_datum_destroy
    - functionName:    sens_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1385
      functionLinenumberEnd: 1432
      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:1390,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1401,2'
          Dst:             level_datum_init
        - Src:             'expand.c:1405,2'
          Dst:             mls_level_init
        - Src:             'expand.c:1406,11'
          Dst:             strdup
        - Src:             'expand.c:1410,6'
          Dst:             mls_level_cpy
        - Src:             'expand.c:1416,6'
          Dst:             hashtab_insert
        - Src:             'expand.c:1425,3'
          Dst:             mls_level_destroy
        - Src:             'expand.c:1428,2'
          Dst:             level_datum_destroy
    - functionName:    role_fix_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1028
      functionLinenumberEnd: 1055
      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:1045,2'
          Dst:             ebitmap_start
        - Src:             'expand.c:1045,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:1047,3'
          Dst:             __assert_fail
        - Src:             'expand.c:1048,7'
          Dst:             ebitmap_union
        - Src:             'expand.c:1045,2'
          Dst:             ebitmap_next
    - functionName:    expand_role_attributes_in_attributes
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 965
      functionLinenumberEnd: 1019
      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:971,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:975,4'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:981,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:981,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:983,8'
          Dst:             ebitmap_match_any
        - Src:             'expand.c:985,5'
          Dst:             ebitmap_init
        - Src:             'expand.c:986,5'
          Dst:             ebitmap_start
        - Src:             'expand.c:986,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:992,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:993,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:996,10'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:998,7'
          Dst:             ebitmap_union
        - Src:             'expand.c:1001,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:986,5'
          Dst:             ebitmap_next
        - Src:             'expand.c:1004,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:1005,5'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:1006,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:981,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:1011,2'
          Dst:             ebitmap_destroy
    - functionName:    role_roles_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 922
      functionLinenumberEnd: 962
      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:936,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:945,19'
          Dst:             hashtab_search
        - Src:             'expand.c:952,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:954,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:956,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:959,2'
          Dst:             ebitmap_destroy
    - functionName:    role_types_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 877
      functionLinenumberEnd: 918
      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:887,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:896,19'
          Dst:             hashtab_search
        - Src:             'expand.c:903,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:904,6'
          Dst:             expand_convert_type_set
        - Src:             'expand.c:906,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:910,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:912,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:915,2'
          Dst:             ebitmap_destroy
    - functionName:    role_dominates_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 839
      functionLinenumberEnd: 873
      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:849,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:858,19'
          Dst:             hashtab_search
        - Src:             'expand.c:864,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:866,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:867,3'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:870,2'
          Dst:             ebitmap_destroy
    - functionName:    role_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 671
      functionLinenumberEnd: 701
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          274
      EdgeCount:       53
      CyclomaticComplexity: 14
      functionsReached:
        - hashtab_search
        - is_id_enabled
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:680,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:689,9'
          Dst:             hashtab_search
    - functionName:    role_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1059
      functionLinenumberEnd: 1117
      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:1069,6'
          Dst:             strcmp
        - Src:             'expand.c:1075,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:1084,19'
          Dst:             hashtab_search
        - Src:             'expand.c:1093,12'
          Dst:             strdup
        - Src:             'expand.c:1104,9'
          Dst:             hashtab_insert
    - functionName:    class_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 602
      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:532,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:546,6'
          Dst:             symtab_init
        - Src:             'expand.c:555,8'
          Dst:             class_copy_default_new_object
        - Src:             'expand.c:561,11'
          Dst:             strdup
        - Src:             'expand.c:568,8'
          Dst:             hashtab_insert
        - Src:             'expand.c:577,6'
          Dst:             hashtab_map
        - Src:             'expand.c:577,6'
          Dst:             perm_copy_callback
        - Src:             'expand.c:584,23'
          Dst:             strdup
        - Src:             'expand.c:590,25'
          Dst:             hashtab_search
    - functionName:    common_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 377
      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:343,6'
          Dst:             symtab_init
        - Src:             'expand.c:349,11'
          Dst:             strdup
        - Src:             'expand.c:353,3'
          Dst:             symtab_destroy
        - Src:             'expand.c:361,8'
          Dst:             hashtab_insert
        - Src:             'expand.c:370,6'
          Dst:             hashtab_map
        - Src:             'expand.c:370,6'
          Dst:             perm_copy_callback
    - functionName:    expand_attributes_in_attributes
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 283
      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:235,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:239,4'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:245,3'
          Dst:             ebitmap_start
        - Src:             'expand.c:245,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:247,8'
          Dst:             ebitmap_match_any
        - Src:             'expand.c:249,5'
          Dst:             ebitmap_init
        - Src:             'expand.c:250,5'
          Dst:             ebitmap_start
        - Src:             'expand.c:250,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'expand.c:256,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:257,7'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:260,10'
          Dst:             ebitmap_get_bit
        - Src:             'expand.c:262,7'
          Dst:             ebitmap_union
        - Src:             'expand.c:265,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:250,5'
          Dst:             ebitmap_next
        - Src:             'expand.c:268,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:269,5'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:270,5'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:245,3'
          Dst:             ebitmap_next
        - Src:             'expand.c:275,2'
          Dst:             ebitmap_destroy
    - functionName:    attr_convert_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 225
      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:199,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:207,13'
          Dst:             hashtab_search
        - Src:             'expand.c:212,6'
          Dst:             map_ebitmap
        - Src:             'expand.c:218,6'
          Dst:             ebitmap_union
        - Src:             'expand.c:222,2'
          Dst:             ebitmap_destroy
    - functionName:    type_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 637
      functionLinenumberEnd: 667
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          274
      EdgeCount:       53
      CyclomaticComplexity: 14
      functionsReached:
        - hashtab_search
        - is_id_enabled
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:646,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:655,9'
          Dst:             hashtab_search
    - functionName:    alias_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 744
      functionLinenumberEnd: 834
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         87
      ICount:          616
      EdgeCount:       114
      CyclomaticComplexity: 29
      functionsReached:
        - ebitmap_set_bit
        - hashtab_insert
        - hashtab_search
        - is_id_enabled
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:768,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:782,14'
          Dst:             hashtab_search
        - Src:             'expand.c:791,11'
          Dst:             strdup
        - Src:             'expand.c:807,8'
          Dst:             hashtab_insert
        - Src:             'expand.c:820,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:827,7'
          Dst:             ebitmap_set_bit
    - functionName:    type_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 182
      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:124,7'
          Dst:             is_id_enabled
        - Src:             'expand.c:132,11'
          Dst:             strdup
        - Src:             'expand.c:158,8'
          Dst:             hashtab_insert
        - Src:             'expand.c:168,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:175,7'
          Dst:             ebitmap_set_bit
    - functionName:    discard_tunables
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3163
      functionLinenumberEnd: 3252
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         62
      ICount:          332
      EdgeCount:       82
      CyclomaticComplexity: 22
      functionsReached:
        - cond_evaluate_expr
        - printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand.c:3221,6'
          Dst:             cond_evaluate_expr
        - Src:             'expand.c:3223,6'
          Dst:             printf
    - functionName:    expand_module
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3261
      functionLinenumberEnd: 3564
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         274
      ICount:          1747
      EdgeCount:       370
      CyclomaticComplexity: 98
      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:3276,2'
          Dst:             discard_tunables
        - Src:             'expand.c:3278,2'
          Dst:             expand_state_init
        - Src:             'expand.c:3294,21'
          Dst:             strdup
        - Src:             'expand.c:3309,6'
          Dst:             ebitmap_cpy
        - Src:             'expand.c:3314,35'
          Dst:             calloc
        - Src:             'expand.c:3321,15'
          Dst:             calloc
        - Src:             'expand.c:3328,15'
          Dst:             calloc
        - Src:             'expand.c:3335,15'
          Dst:             calloc
        - Src:             'expand.c:3344,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3344,6'
          Dst:             type_copy_callback
        - Src:             'expand.c:3347,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3356,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3356,7'
          Dst:             alias_copy_callback
        - Src:             'expand.c:3362,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3362,6'
          Dst:             type_bounds_copy_callback
        - Src:             'expand.c:3365,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3365,6'
          Dst:             attr_convert_callback
        - Src:             'expand.c:3373,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3373,7'
          Dst:             attr_convert_callback
        - Src:             'expand.c:3376,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3376,7'
          Dst:             type_bounds_copy_callback
        - Src:             'expand.c:3381,6'
          Dst:             expand_attributes_in_attributes
        - Src:             'expand.c:3386,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3386,6'
          Dst:             common_copy_callback
        - Src:             'expand.c:3393,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3393,6'
          Dst:             class_copy_callback
        - Src:             'expand.c:3399,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3405,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3405,6'
          Dst:             role_copy_callback
        - Src:             'expand.c:3408,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3410,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3410,6'
          Dst:             role_bounds_copy_callback
        - Src:             'expand.c:3413,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3413,6'
          Dst:             role_dominates_copy_callback
        - Src:             'expand.c:3416,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3416,6'
          Dst:             role_types_copy_callback
        - Src:             'expand.c:3419,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3419,6'
          Dst:             role_roles_copy_callback
        - Src:             'expand.c:3427,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3427,7'
          Dst:             role_bounds_copy_callback
        - Src:             'expand.c:3430,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3430,7'
          Dst:             role_dominates_copy_callback
        - Src:             'expand.c:3433,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3433,7'
          Dst:             role_types_copy_callback
        - Src:             'expand.c:3436,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3436,7'
          Dst:             role_roles_copy_callback
        - Src:             'expand.c:3441,6'
          Dst:             expand_role_attributes_in_attributes
        - Src:             'expand.c:3450,6'
          Dst:             expand_role_attributes_in_attributes
        - Src:             'expand.c:3455,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3455,6'
          Dst:             role_fix_callback
        - Src:             'expand.c:3460,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3460,6'
          Dst:             sens_copy_callback
        - Src:             'expand.c:3462,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3462,6'
          Dst:             cats_copy_callback
        - Src:             'expand.c:3464,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3470,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3470,6'
          Dst:             user_copy_callback
        - Src:             'expand.c:3472,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3472,6'
          Dst:             user_bounds_copy_callback
        - Src:             'expand.c:3480,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3480,7'
          Dst:             user_copy_callback
        - Src:             'expand.c:3483,7'
          Dst:             hashtab_map
        - Src:             'expand.c:3483,7'
          Dst:             user_bounds_copy_callback
        - Src:             'expand.c:3489,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3489,6'
          Dst:             bool_copy_callback
        - Src:             'expand.c:3492,6'
          Dst:             policydb_index_classes
        - Src:             'expand.c:3496,6'
          Dst:             policydb_index_others
        - Src:             'expand.c:3501,6'
          Dst:             copy_and_expand_avrule_block
        - Src:             'expand.c:3512,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3512,6'
          Dst:             constraint_copy_callback
        - Src:             'expand.c:3517,2'
          Dst:             cond_optimize_lists
        - Src:             'expand.c:3518,6'
          Dst:             evaluate_conds
        - Src:             'expand.c:3522,6'
          Dst:             ocontext_copy
        - Src:             'expand.c:3526,6'
          Dst:             genfs_copy
        - Src:             'expand.c:3531,3'
          Dst:             calloc
        - Src:             'expand.c:3533,3'
          Dst:             calloc
        - Src:             'expand.c:3540,7'
          Dst:             ebitmap_set_bit
        - Src:             'expand.c:3545,6'
          Dst:             hashtab_map
        - Src:             'expand.c:3545,6'
          Dst:             type_attr_map
        - Src:             'expand.c:3548,7'
          Dst:             hierarchy_check_constraints
        - Src:             'expand.c:3551,7'
          Dst:             check_assertions
    - functionName:    expand_state_init
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      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:    copy_and_expand_avrule_block
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3046
      functionLinenumberEnd: 3133
      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:3051,6'
          Dst:             avtab_alloc
        - Src:             'expand.c:3056,6'
          Dst:             avtab_alloc
        - Src:             'expand.c:3071,7'
          Dst:             copy_role_allows
        - Src:             'expand.c:3072,7'
          Dst:             copy_role_trans
        - Src:             'expand.c:3076,7'
          Dst:             expand_filename_trans
        - Src:             'expand.c:3080,7'
          Dst:             expand_range_trans
        - Src:             'expand.c:3091,9'
          Dst:             copy_neverallow
        - Src:             'expand.c:3100,9'
          Dst:             convert_and_expand_rule
        - Src:             'expand.c:3113,7'
          Dst:             cond_node_copy
        - Src:             'expand.c:3125,4'
          Dst:             avrule_block_destroy
    - functionName:    expand_module_avrules
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3144
      functionLinenumberEnd: 3159
      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:3147,2'
          Dst:             expand_state_init
        - Src:             'expand.c:3159,9'
          Dst:             copy_and_expand_avrule_block
    - functionName:    expand_rule
      functionSourceFile: '/src/selinux/libsepol/src/expand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2718
      functionLinenumberEnd: 2739
      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:2726,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2727,2'
          Dst:             ebitmap_init
        - Src:             'expand.c:2729,6'
          Dst:             type_set_expand
        - Src:             'expand.c:2731,6'
          Dst:             type_set_expand
        - Src:             'expand.c:2733,11'
          Dst:             expand_rule_helper
        - Src:             'expand.c:2736,2'
          Dst:             ebitmap_destroy
        - Src:             'expand.c:2737,2'
          Dst:             ebitmap_destroy
    - functionName:    hashtab_hash_eval
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 282
      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:279,2'
          Dst:             printf
    - functionName:    hashtab_map
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 252
      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:    115
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hashtab_destroy
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 229
      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: 207
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    179
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hashtab_remove
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      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: 65
      functionLinenumberEnd: 101
      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:75,15'
          Dst:             calloc
    - functionName:    hashtab_insert
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 144
      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:111,2'
          Dst:             hashtab_check_resize
    - functionName:    hashtab_create
      functionSourceFile: '/src/selinux/libsepol/src/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 62
      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:53,30'
          Dst:             calloc
    - functionName:    bounds_report
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 460
      functionLinenumberEnd: 477
      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:466,19'
          Dst:             sepol_av_to_string
    - functionName:    bounds_add_bad
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 289
      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: 259
      functionLinenumberEnd: 269
      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:260,25'
          Dst:             avtab_search
        - Src:             'hierarchy.c:264,11'
          Dst:             avtab_search
    - functionName:    bounds_check_rule
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 332
      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:307,6'
          Dst:             ebitmap_get_bit
        - Src:             'hierarchy.c:309,3'
          Dst:             ebitmap_start
        - Src:             'hierarchy.c:309,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'hierarchy.c:314,9'
          Dst:             bounds_not_covered
        - Src:             'hierarchy.c:318,9'
          Dst:             bounds_not_covered
        - Src:             'hierarchy.c:323,10'
          Dst:             bounds_add_bad
        - Src:             'hierarchy.c:309,3'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 340
      functionLinenumberEnd: 359
      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:350,8'
          Dst:             bounds_check_rule
    - functionName:    bounds_check_rule_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 383
      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:380,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: 58
      functionLinenumberEnd: 95
      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:60,23'
          Dst:             avtab_search
        - Src:             'hierarchy.c:63,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: 102
      functionLinenumberEnd: 126
      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:113,6'
          Dst:             ebitmap_get_bit
        - Src:             'hierarchy.c:115,3'
          Dst:             ebitmap_start
        - Src:             'hierarchy.c:115,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'hierarchy.c:118,9'
          Dst:             bounds_insert_rule
        - Src:             'hierarchy.c:115,3'
          Dst:             ebitmap_next
    - functionName:    bounds_expand_cond_rules
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 146
      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:138,8'
          Dst:             bounds_expand_rule
    - functionName:    bounds_expand_rule_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 167
      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:164,9'
          Dst:             bounds_expand_rule
    - functionName:    hierarchy_check_constraints
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 723
      functionLinenumberEnd: 751
      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:727,7'
          Dst:             hierarchy_add_bounds
        - Src:             'hierarchy.c:731,7'
          Dst:             bounds_check_users
        - Src:             'hierarchy.c:735,7'
          Dst:             bounds_check_roles
        - Src:             'hierarchy.c:739,7'
          Dst:             bounds_check_types
    - functionName:    hierarchy_add_bounds
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 692
      functionLinenumberEnd: 719
      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:700,7'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:700,7'
          Dst:             hierarchy_add_user_callback
        - Src:             'hierarchy.c:704,7'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:704,7'
          Dst:             hierarchy_add_role_callback
        - Src:             'hierarchy.c:708,7'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:708,7'
          Dst:             hierarchy_add_type_callback
    - functionName:    bounds_check_users
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 602
      functionLinenumberEnd: 618
      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:609,2'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:609,2'
          Dst:             bounds_check_user_callback
    - functionName:    bounds_check_roles
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 575
      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:566,2'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:566,2'
          Dst:             bounds_check_role_callback
    - functionName:    bounds_check_types
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 512
      functionLinenumberEnd: 531
      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:520,7'
          Dst:             hashtab_map
        - Src:             'hierarchy.c:520,7'
          Dst:             bounds_check_type_callback
    - functionName:    bounds_check_type_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 492
      functionLinenumberEnd: 508
      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:499,8'
          Dst:             bounds_check_type
        - Src:             'hierarchy.c:502,4'
          Dst:             bounds_report
        - Src:             'hierarchy.c:504,4'
          Dst:             bounds_destroy_bad
    - functionName:    bounds_check_type
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 449
      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:437,7'
          Dst:             bounds_expand_parent_rules
        - Src:             'hierarchy.c:442,7'
          Dst:             bounds_check_child_rules
        - Src:             'hierarchy.c:445,2'
          Dst:             bounds_destroy_cond_info
        - Src:             'hierarchy.c:446,2'
          Dst:             avtab_destroy
    - functionName:    bounds_destroy_bad
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 488
      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: 193
      functionLinenumberEnd: 255
      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:198,2'
          Dst:             avtab_init
        - Src:             'hierarchy.c:199,7'
          Dst:             avtab_alloc
        - Src:             'hierarchy.c:207,7'
          Dst:             avtab_map
        - Src:             'hierarchy.c:207,7'
          Dst:             bounds_expand_rule_callback
        - Src:             'hierarchy.c:217,3'
          Dst:             avtab_init
        - Src:             'hierarchy.c:218,3'
          Dst:             avtab_init
        - Src:             'hierarchy.c:223,9'
          Dst:             avtab_alloc
        - Src:             'hierarchy.c:226,9'
          Dst:             bounds_expand_cond_rules
        - Src:             'hierarchy.c:233,9'
          Dst:             avtab_alloc
        - Src:             'hierarchy.c:236,9'
          Dst:             bounds_expand_cond_rules
        - Src:             'hierarchy.c:251,2'
          Dst:             avtab_destroy
        - Src:             'hierarchy.c:252,2'
          Dst:             bounds_destroy_cond_info
    - functionName:    bounds_check_child_rules
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 390
      functionLinenumberEnd: 427
      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:402,7'
          Dst:             avtab_map
        - Src:             'hierarchy.c:402,7'
          Dst:             bounds_check_rule_callback
        - Src:             'hierarchy.c:408,8'
          Dst:             bounds_check_cond_rules
        - Src:             'hierarchy.c:415,8'
          Dst:             bounds_check_cond_rules
    - functionName:    bounds_destroy_cond_info
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 187
      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:182,3'
          Dst:             avtab_destroy
        - Src:             'hierarchy.c:183,3'
          Dst:             avtab_destroy
    - functionName:    bounds_check_role_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 539
      functionLinenumberEnd: 556
      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:549,13'
          Dst:             ebitmap_contains
    - functionName:    bounds_check_user_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 582
      functionLinenumberEnd: 599
      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:592,13'
          Dst:             ebitmap_contains
    - functionName:    hierarchy_add_user_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 689
      functionLinenumberEnd: 689
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          247
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - hashtab_search
        - strdup
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:689,15'
          Dst:             strrchr
        - Src:             'hierarchy.c:689,15'
          Dst:             strdup
        - Src:             'hierarchy.c:689,15'
          Dst:             hashtab_search
    - functionName:    hierarchy_add_role_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 688
      functionLinenumberEnd: 688
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          337
      EdgeCount:       56
      CyclomaticComplexity: 15
      functionsReached:
        - hashtab_search
        - strdup
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:688,53'
          Dst:             strrchr
        - Src:             'hierarchy.c:688,53'
          Dst:             strdup
        - Src:             'hierarchy.c:688,53'
          Dst:             hashtab_search
    - functionName:    hierarchy_add_type_callback
      functionSourceFile: '/src/selinux/libsepol/src/hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 688
      functionLinenumberEnd: 688
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          337
      EdgeCount:       56
      CyclomaticComplexity: 15
      functionsReached:
        - hashtab_search
        - strdup
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hierarchy.c:688,8'
          Dst:             strrchr
        - Src:             'hierarchy.c:688,8'
          Dst:             strdup
        - Src:             'hierarchy.c:688,8'
          Dst:             hashtab_search
    - functionName:    context_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2768
      functionLinenumberEnd: 2789
      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:2777,11'
          Dst:             range_to_str
        - Src:             'kernel_to_cil.c:2779,11'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:2785,8'
          Dst:             create_str
    - functionName:    range_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2178
      functionLinenumberEnd: 2199
      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:2183,8'
          Dst:             level_to_str
        - Src:             'kernel_to_cil.c:2188,9'
          Dst:             level_to_str
        - Src:             'kernel_to_cil.c:2193,14'
          Dst:             create_str
    - functionName:    level_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2160
      functionLinenumberEnd: 2174
      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:2167,14'
          Dst:             cats_ebitmap_to_str
        - Src:             'kernel_to_cil.c:2168,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:2171,15'
          Dst:             create_str
    - functionName:    cats_ebitmap_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1180
      functionLinenumberEnd: 1240
      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:1186,19'
          Dst:             cats_ebitmap_len
        - Src:             'kernel_to_cil.c:1201,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1201,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1207,7'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_cil.c:1212,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1216,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1221,10'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1201,2'
          Dst:             ebitmap_next
    - functionName:    cats_ebitmap_len
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1145
      functionLinenumberEnd: 1176
      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:1151,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1151,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1157,7'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_cil.c:1160,10'
          Dst:             strlen
        - Src:             'kernel_to_cil.c:1162,11'
          Dst:             strlen
        - Src:             'kernel_to_cil.c:1164,11'
          Dst:             strlen
        - Src:             'kernel_to_cil.c:1151,2'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 2795
      functionLinenumberEnd: 2848
      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:2804,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2814,4'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:2818,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2824,10'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:2831,8'
          Dst:             strs_add_at_index
        - Src:             'kernel_to_cil.c:2838,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2841,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2842,2'
          Dst:             strs_destroy
    - functionName:    write_cond_av_list_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2272
      functionLinenumberEnd: 2321
      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:2285,8'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2296,12'
          Dst:             avtab_node_to_str
        - Src:             'kernel_to_cil.c:2301,10'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2309,3'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2310,3'
          Dst:             strs_write_each_indented
        - Src:             'kernel_to_cil.c:2311,3'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2312,3'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2318,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2319,2'
          Dst:             strs_destroy
    - functionName:    avtab_node_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1901
      functionLinenumberEnd: 2001
      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:1908,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:1954,11'
          Dst:             sepol_av_to_string
        - Src:             'kernel_to_cil.c:1964,10'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:1968,11'
          Dst:             xperms_to_str
        - Src:             'kernel_to_cil.c:1983,10'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:1989,10'
          Dst:             create_str
    - functionName:    xperms_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1808
      functionLinenumberEnd: 1897
      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:1827,6'
          Dst:             realloc
        - Src:             'kernel_to_cil.c:1855,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1860,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1866,11'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:1872,11'
          Dst:             snprintf
    - functionName:    cond_node_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2329
      functionLinenumberEnd: 2332
      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:2332,9'
          Dst:             strcmp
    - functionName:    cond_expr_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 139
      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:54,4'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:39,7'
          Dst:             strs_stack_init
        - Src:             'kernel_to_cil.c:47,14'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:86,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:93,11'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:100,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:104,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:112,8'
          Dst:             strs_stack_push
        - Src:             'kernel_to_cil.c:119,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:120,19'
          Dst:             strs_stack_empty
        - Src:             'kernel_to_cil.c:127,2'
          Dst:             strs_stack_destroy
        - Src:             'kernel_to_cil.c:132,21'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:135,3'
          Dst:             strs_stack_destroy
    - functionName:    map_range_trans_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2208
      functionLinenumberEnd: 2234
      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:2220,10'
          Dst:             range_to_str
        - Src:             'kernel_to_cil.c:2226,7'
          Dst:             strs_create_and_add
    - functionName:    map_filename_trans_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2094
      functionLinenumberEnd: 2124
      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:2111,3'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:2111,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:2113,9'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:2111,3'
          Dst:             ebitmap_next
    - functionName:    map_avtab_write_helper
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2011
      functionLinenumberEnd: 2033
      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:2020,10'
          Dst:             avtab_node_to_str
        - Src:             'kernel_to_cil.c:2025,8'
          Dst:             strs_add
    - functionName:    write_avtab_flavor_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2038
      functionLinenumberEnd: 2064
      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:2043,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2052,7'
          Dst:             avtab_map
        - Src:             'kernel_to_cil.c:2052,7'
          Dst:             map_avtab_write_helper
        - Src:             'kernel_to_cil.c:2057,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2058,2'
          Dst:             strs_write_each_indented
        - Src:             'kernel_to_cil.c:2061,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2062,2'
          Dst:             strs_destroy
    - functionName:    map_type_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1545
      functionLinenumberEnd: 1553
      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:1551,8'
          Dst:             strs_add
    - functionName:    map_count_type_aliases
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1534
      functionLinenumberEnd: 1541
      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: 1448
      functionLinenumberEnd: 1455
      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:1455,9'
          Dst:             strs_create_and_add
    - functionName:    map_category_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1051
      functionLinenumberEnd: 1060
      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:1057,8'
          Dst:             strs_add
    - functionName:    map_count_category_aliases
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1040
      functionLinenumberEnd: 1047
      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: 943
      functionLinenumberEnd: 952
      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:949,8'
          Dst:             strs_add
    - functionName:    map_count_sensitivity_aliases
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 932
      functionLinenumberEnd: 939
      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: 1244
      functionLinenumberEnd: 1277
      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:1255,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:1264,11'
          Dst:             cats_ebitmap_to_str
        - Src:             'kernel_to_cil.c:1266,4'
          Dst:             sepol_printf
    - functionName:    write_category_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1064
      functionLinenumberEnd: 1141
      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:1074,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1078,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1083,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1088,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1090,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1092,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1092,7'
          Dst:             map_count_category_aliases
        - Src:             'kernel_to_cil.c:1103,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1108,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1108,7'
          Dst:             map_category_aliases_to_strs
        - Src:             'kernel_to_cil.c:1113,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1117,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1118,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1123,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1124,9'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:1130,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1135,2'
          Dst:             strs_destroy
    - functionName:    write_sensitivity_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 956
      functionLinenumberEnd: 1035
      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:966,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:970,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:975,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:980,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:982,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:984,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:984,7'
          Dst:             map_count_sensitivity_aliases
        - Src:             'kernel_to_cil.c:996,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1001,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1001,7'
          Dst:             map_sensitivity_aliases_to_strs
        - Src:             'kernel_to_cil.c:1007,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1011,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1012,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1017,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1018,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:1024,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1029,2'
          Dst:             strs_destroy
    - functionName:    write_default_mls_level
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 928
      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:925,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:926,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:927,2'
          Dst:             sepol_printf
    - functionName:    write_default_range_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 814
      functionLinenumberEnd: 847
      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:817,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:844,2'
          Dst:             sepol_printf
    - functionName:    write_default_type_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 792
      functionLinenumberEnd: 810
      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:795,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:807,2'
          Dst:             sepol_printf
    - functionName:    write_default_role_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 770
      functionLinenumberEnd: 788
      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:773,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:785,2'
          Dst:             sepol_printf
    - functionName:    write_default_user_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 766
      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:751,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:763,2'
          Dst:             sepol_printf
    - functionName:    write_sids_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 686
      functionLinenumberEnd: 726
      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:692,9'
          Dst:             isids_to_strs
        - Src:             'kernel_to_cil.c:698,6'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:699,3'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:703,18'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:704,9'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:705,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:708,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:710,18'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:711,9'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:713,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:718,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:720,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:722,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:723,2'
          Dst:             strs_destroy
    - functionName:    class_or_common_perms_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 584
      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:567,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:572,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:572,7'
          Dst:             hashtab_ordered_to_strs
        - Src:             'kernel_to_cil.c:577,6'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:578,11'
          Dst:             strs_to_str
        - Src:             'kernel_to_cil.c:582,2'
          Dst:             strs_destroy
    - functionName:    class_validatetrans_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 471
      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:448,10'
          Dst:             constraint_expr_to_str
        - Src:             'kernel_to_cil.c:462,8'
          Dst:             strs_create_and_add
    - functionName:    constraint_expr_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 371
      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:164,4'
          Branch Sides:    []
        - Branch String:   'kernel_to_cil.c:186,4'
          Branch Sides:    []
        - Branch String:   'kernel_to_cil.c:297,4'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:153,7'
          Dst:             strs_stack_init
        - Src:             'kernel_to_cil.c:258,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:264,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_cil.c:268,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_cil.c:272,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_cil.c:277,14'
          Dst:             strdup
        - Src:             'kernel_to_cil.c:283,9'
          Dst:             strchr
        - Src:             'kernel_to_cil.c:284,16'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:287,16'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:318,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:325,11'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:332,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:336,15'
          Dst:             create_str
        - Src:             'kernel_to_cil.c:343,8'
          Dst:             strs_stack_push
        - Src:             'kernel_to_cil.c:350,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:351,19'
          Dst:             strs_stack_empty
        - Src:             'kernel_to_cil.c:358,2'
          Dst:             strs_stack_destroy
        - Src:             'kernel_to_cil.c:364,21'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_cil.c:367,3'
          Dst:             strs_stack_destroy
    - functionName:    class_constraint_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 432
      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:391,10'
          Dst:             constraint_expr_to_str
        - Src:             'kernel_to_cil.c:397,11'
          Dst:             sepol_av_to_string
        - Src:             'kernel_to_cil.c:419,8'
          Dst:             strs_create_and_add
    - functionName:    sepol_kernel_policydb_decls_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3745
      functionLinenumberEnd: 3810
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          171
      EdgeCount:       41
      CyclomaticComplexity: 14
      functionsReached:
        - check_for_supported_policy
        - write_boolean_decl_rules_to_cil
        - write_class_decl_rules_to_cil
        - write_mls_rules_to_cil
        - write_role_attributes_to_cil
        - write_role_decl_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_decl_rules_to_cil
        - write_user_decl_rules_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:3748,7'
          Dst:             check_for_supported_policy
        - Src:             'kernel_to_cil.c:3753,7'
          Dst:             write_sid_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3758,7'
          Dst:             write_class_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3763,7'
          Dst:             write_mls_rules_to_cil
        - Src:             'kernel_to_cil.c:3768,7'
          Dst:             write_boolean_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3773,7'
          Dst:             write_type_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3778,7'
          Dst:             write_type_alias_rules_to_cil
        - Src:             'kernel_to_cil.c:3783,7'
          Dst:             write_type_attributes_to_cil
        - Src:             'kernel_to_cil.c:3788,7'
          Dst:             write_type_attribute_sets_to_cil
        - Src:             'kernel_to_cil.c:3793,7'
          Dst:             write_role_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3798,7'
          Dst:             write_role_attributes_to_cil
        - Src:             'kernel_to_cil.c:3803,7'
          Dst:             write_user_decl_rules_to_cil
    - functionName:    write_sid_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 729
      functionLinenumberEnd: 743
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:733,8'
          Dst:             write_sids_to_cil
        - Src:             'kernel_to_cil.c:736,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: 588
      functionLinenumberEnd: 681
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:602,11'
          Dst:             class_or_common_perms_to_str
        - Src:             'kernel_to_cil.c:604,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:607,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:612,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:616,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:621,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:623,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:632,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:638,9'
          Dst:             calloc
        - Src:             'kernel_to_cil.c:650,13'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:658,13'
          Dst:             class_or_common_perms_to_str
        - Src:             'kernel_to_cil.c:667,5'
          Dst:             sepol_printf
    - functionName:    write_mls_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1281
      functionLinenumberEnd: 1314
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1285,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1287,3'
          Dst:             write_default_mls_level
        - Src:             'kernel_to_cil.c:1291,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1293,7'
          Dst:             write_sensitivity_rules_to_cil
        - Src:             'kernel_to_cil.c:1298,7'
          Dst:             write_category_rules_to_cil
        - Src:             'kernel_to_cil.c:1303,7'
          Dst:             write_sensitivitycategory_rules_to_cil
    - functionName:    write_boolean_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1459
      functionLinenumberEnd: 1484
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1463,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1468,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1468,7'
          Dst:             map_boolean_to_strs
        - Src:             'kernel_to_cil.c:1473,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1474,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:1477,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:1478,2'
          Dst:             strs_destroy
    - functionName:    write_type_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1488
      functionLinenumberEnd: 1529
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1495,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1503,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1510,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1512,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1514,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1519,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1523,2'
          Dst:             strs_destroy
    - functionName:    write_type_alias_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1557
      functionLinenumberEnd: 1613
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1565,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1565,7'
          Dst:             map_count_type_aliases
        - Src:             'kernel_to_cil.c:1570,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1575,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:1575,7'
          Dst:             map_type_aliases_to_strs
        - Src:             'kernel_to_cil.c:1580,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1583,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1588,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1592,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1597,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:1603,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1607,2'
          Dst:             strs_destroy
    - functionName:    write_type_attributes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1358
      functionLinenumberEnd: 1399
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1365,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1373,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1380,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1382,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1384,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1389,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1393,2'
          Dst:             strs_destroy
    - functionName:    write_type_attribute_sets_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1671
      functionLinenumberEnd: 1717
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1679,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1692,11'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_cil.c:1698,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:1706,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1707,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:1710,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:1711,2'
          Dst:             strs_destroy
    - functionName:    write_role_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2415
      functionLinenumberEnd: 2540
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2424,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2432,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2439,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2441,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2444,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2448,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2452,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2456,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2464,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2470,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2474,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2481,9'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2485,9'
          Dst:             ebitmap_to_strs
        - Src:             'kernel_to_cil.c:2488,5'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2491,4'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2493,16'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2495,12'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2496,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2499,4'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2503,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2505,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2514,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2521,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2523,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2526,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2530,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2534,2'
          Dst:             strs_destroy
    - functionName:    write_role_attributes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1403
      functionLinenumberEnd: 1444
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:1410,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1418,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1425,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1427,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1429,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1434,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1438,2'
          Dst:             strs_destroy
    - functionName:    write_user_decl_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2623
      functionLinenumberEnd: 2764
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_cil.c:2631,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2639,8'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2645,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2647,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2650,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2654,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2658,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2663,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2671,9'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2675,9'
          Dst:             ebitmap_to_strs
        - Src:             'kernel_to_cil.c:2678,5'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2682,9'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:2684,5'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2688,4'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2690,16'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:2692,12'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2693,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2696,4'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:2701,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2706,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2712,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2715,12'
          Dst:             level_to_str
        - Src:             'kernel_to_cil.c:2720,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2723,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2725,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2729,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:2734,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:2740,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2742,12'
          Dst:             range_to_str
        - Src:             'kernel_to_cil.c:2747,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2750,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2753,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2758,3'
          Dst:             strs_destroy
    - functionName:    write_xen_devicetree_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3455
      functionLinenumberEnd: 3478
      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:3462,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3468,3'
          Dst:             sepol_printf
    - functionName:    write_xen_pcidevice_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3419
      functionLinenumberEnd: 3451
      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:3426,8'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3433,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3439,3'
          Dst:             sepol_printf
    - functionName:    write_xen_iomem_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3373
      functionLinenumberEnd: 3415
      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:3386,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3388,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3397,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3403,3'
          Dst:             sepol_printf
    - functionName:    write_xen_ioport_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3327
      functionLinenumberEnd: 3369
      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:3341,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3343,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3351,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3357,3'
          Dst:             sepol_printf
    - functionName:    write_xen_pirq_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3292
      functionLinenumberEnd: 3323
      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:3299,8'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3305,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3311,3'
          Dst:             sepol_printf
    - functionName:    write_xen_isid_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3286
      functionLinenumberEnd: 3287
      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:3287,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: 3248
      functionLinenumberEnd: 3282
      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:3256,8'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3263,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3269,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_ibpkey_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3190
      functionLinenumberEnd: 3244
      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:3206,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:3216,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3218,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3225,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3231,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_node6_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3148
      functionLinenumberEnd: 3186
      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:3156,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:3163,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:3170,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3176,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_node_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3106
      functionLinenumberEnd: 3144
      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:3114,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:3121,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_cil.c:3128,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3134,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_netif_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3072
      functionLinenumberEnd: 3102
      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:3079,10'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3084,10'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3091,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_port_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3006
      functionLinenumberEnd: 3068
      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:3017,3'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:3040,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3042,9'
          Dst:             snprintf
        - Src:             'kernel_to_cil.c:3049,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:3055,3'
          Dst:             sepol_printf
    - functionName:    write_genfscon_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2903
      functionLinenumberEnd: 3002
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         66
      ICount:          383
      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:2911,17'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_cil.c:2915,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2930,9'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2932,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2934,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2937,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2940,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2943,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2946,16'
          Dst:             strcmp
        - Src:             'kernel_to_cil.c:2955,10'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2961,15'
          Dst:             strlen
        - Src:             'kernel_to_cil.c:2975,10'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:2980,10'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:2991,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2992,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2995,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2996,2'
          Dst:             strs_destroy
    - functionName:    write_selinux_fsuse_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2858
      functionLinenumberEnd: 2899
      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:2865,3'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:2883,9'
          Dst:             context_to_str
        - Src:             'kernel_to_cil.c:2889,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_isid_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2852
      functionLinenumberEnd: 2853
      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:2853,9'
          Dst:             write_sid_context_rules_to_cil
    - functionName:    write_role_allow_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2585
      functionLinenumberEnd: 2619
      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:2591,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2600,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:2608,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2609,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2612,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2613,2'
          Dst:             strs_destroy
    - functionName:    write_role_transition_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2544
      functionLinenumberEnd: 2581
      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:2550,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2561,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:2570,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2571,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2574,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2575,2'
          Dst:             strs_destroy
    - functionName:    write_cond_nodes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2336
      functionLinenumberEnd: 2411
      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:2347,14'
          Dst:             calloc
        - Src:             'kernel_to_cil.c:2356,10'
          Dst:             cond_expr_to_str
        - Src:             'kernel_to_cil.c:2365,2'
          Dst:             qsort
        - Src:             'kernel_to_cil.c:2365,2'
          Dst:             cond_node_cmp
        - Src:             'kernel_to_cil.c:2371,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2374,4'
          Dst:             sepol_indent
        - Src:             'kernel_to_cil.c:2375,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2376,9'
          Dst:             write_cond_av_list_to_cil
        - Src:             'kernel_to_cil.c:2381,4'
          Dst:             sepol_indent
        - Src:             'kernel_to_cil.c:2382,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2386,4'
          Dst:             sepol_indent
        - Src:             'kernel_to_cil.c:2387,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2388,9'
          Dst:             write_cond_av_list_to_cil
        - Src:             'kernel_to_cil.c:2393,4'
          Dst:             sepol_indent
        - Src:             'kernel_to_cil.c:2394,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:2396,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: 2238
      functionLinenumberEnd: 2267
      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:2243,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2251,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:2251,7'
          Dst:             map_range_trans_to_str
        - Src:             'kernel_to_cil.c:2256,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2257,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2260,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2261,2'
          Dst:             strs_destroy
    - functionName:    write_filename_trans_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2127
      functionLinenumberEnd: 2156
      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:2132,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:2140,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_cil.c:2140,7'
          Dst:             map_filename_trans_to_str
        - Src:             'kernel_to_cil.c:2145,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:2146,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:2149,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:2150,2'
          Dst:             strs_destroy
    - functionName:    write_avtab_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2068
      functionLinenumberEnd: 2085
      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:2073,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: 1763
      functionLinenumberEnd: 1801
      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:1770,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1775,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1775,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1776,8'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1775,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_cil.c:1782,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1784,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1786,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1791,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1795,2'
          Dst:             strs_destroy
    - functionName:    write_type_permissive_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1721
      functionLinenumberEnd: 1759
      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:1728,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1733,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1733,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1734,8'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1733,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_cil.c:1740,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1742,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1744,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1749,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1753,2'
          Dst:             strs_destroy
    - functionName:    write_type_bounds_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1617
      functionLinenumberEnd: 1667
      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:1625,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1634,10'
          Dst:             strs_add
        - Src:             'kernel_to_cil.c:1642,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1644,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_cil.c:1646,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_cil.c:1651,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_cil.c:1657,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_cil.c:1661,2'
          Dst:             strs_destroy
    - functionName:    write_polcap_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1317
      functionLinenumberEnd: 1354
      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:1324,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:1329,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_cil.c:1329,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_cil.c:1330,10'
          Dst:             sepol_polcap_getname
        - Src:             'kernel_to_cil.c:1337,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_cil.c:1329,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_cil.c:1343,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:1344,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:1347,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:1348,2'
          Dst:             strs_destroy
    - functionName:    write_default_rules_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 850
      functionLinenumberEnd: 921
      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:861,9'
          Dst:             write_default_user_to_cil
        - Src:             'kernel_to_cil.c:875,9'
          Dst:             write_default_role_to_cil
        - Src:             'kernel_to_cil.c:889,9'
          Dst:             write_default_type_to_cil
        - Src:             'kernel_to_cil.c:907,9'
          Dst:             write_default_range_to_cil
    - functionName:    write_handle_unknown_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 559
      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:540,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_cil.c:556,2'
          Dst:             sepol_printf
    - functionName:    validatetrans_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 508
      functionLinenumberEnd: 533
      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:520,9'
          Dst:             class_validatetrans_rules_to_strs
        - Src:             'kernel_to_cil.c:529,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:530,2'
          Dst:             strs_sort
    - functionName:    constraint_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 502
      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:488,9'
          Dst:             class_constraint_rules_to_strs
        - Src:             'kernel_to_cil.c:498,2'
          Dst:             strs_sort
        - Src:             'kernel_to_cil.c:499,2'
          Dst:             strs_sort
    - functionName:    sepol_kernel_policydb_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3482
      functionLinenumberEnd: 3742
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         106
      ICount:          640
      EdgeCount:       155
      CyclomaticComplexity: 51
      functionsReached:
        - check_for_supported_policy
        - 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:3489,7'
          Dst:             check_for_supported_policy
        - Src:             'kernel_to_cil.c:3494,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:3499,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:3504,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:3509,7'
          Dst:             strs_init
        - Src:             'kernel_to_cil.c:3514,7'
          Dst:             constraint_rules_to_strs
        - Src:             'kernel_to_cil.c:3520,7'
          Dst:             validatetrans_rules_to_strs
        - Src:             'kernel_to_cil.c:3526,7'
          Dst:             write_handle_unknown_to_cil
        - Src:             'kernel_to_cil.c:3531,7'
          Dst:             write_class_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3536,7'
          Dst:             write_sid_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3541,7'
          Dst:             write_default_rules_to_cil
        - Src:             'kernel_to_cil.c:3546,7'
          Dst:             write_mls_rules_to_cil
        - Src:             'kernel_to_cil.c:3551,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:3552,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:3554,7'
          Dst:             write_polcap_rules_to_cil
        - Src:             'kernel_to_cil.c:3559,7'
          Dst:             write_type_attributes_to_cil
        - Src:             'kernel_to_cil.c:3564,7'
          Dst:             write_role_attributes_to_cil
        - Src:             'kernel_to_cil.c:3569,7'
          Dst:             write_boolean_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3574,7'
          Dst:             write_type_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3579,7'
          Dst:             write_type_alias_rules_to_cil
        - Src:             'kernel_to_cil.c:3584,7'
          Dst:             write_type_bounds_rules_to_cil
        - Src:             'kernel_to_cil.c:3589,7'
          Dst:             write_type_attribute_sets_to_cil
        - Src:             'kernel_to_cil.c:3594,7'
          Dst:             write_type_permissive_rules_to_cil
        - Src:             'kernel_to_cil.c:3599,7'
          Dst:             write_type_neveraudit_rules_to_cil
        - Src:             'kernel_to_cil.c:3604,7'
          Dst:             write_avtab_to_cil
        - Src:             'kernel_to_cil.c:3609,7'
          Dst:             write_filename_trans_rules_to_cil
        - Src:             'kernel_to_cil.c:3615,8'
          Dst:             write_range_trans_rules_to_cil
        - Src:             'kernel_to_cil.c:3621,7'
          Dst:             write_cond_nodes_to_cil
        - Src:             'kernel_to_cil.c:3626,7'
          Dst:             write_role_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3631,7'
          Dst:             write_role_transition_rules_to_cil
        - Src:             'kernel_to_cil.c:3636,7'
          Dst:             write_role_allow_rules_to_cil
        - Src:             'kernel_to_cil.c:3641,7'
          Dst:             write_user_decl_rules_to_cil
        - Src:             'kernel_to_cil.c:3646,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:3647,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_cil.c:3649,7'
          Dst:             sort_ocontexts
        - Src:             'kernel_to_cil.c:3655,8'
          Dst:             write_selinux_isid_rules_to_cil
        - Src:             'kernel_to_cil.c:3660,8'
          Dst:             write_selinux_fsuse_rules_to_cil
        - Src:             'kernel_to_cil.c:3665,8'
          Dst:             write_genfscon_rules_to_cil
        - Src:             'kernel_to_cil.c:3670,8'
          Dst:             write_selinux_port_rules_to_cil
        - Src:             'kernel_to_cil.c:3675,8'
          Dst:             write_selinux_netif_rules_to_cil
        - Src:             'kernel_to_cil.c:3680,8'
          Dst:             write_selinux_node_rules_to_cil
        - Src:             'kernel_to_cil.c:3685,8'
          Dst:             write_selinux_node6_rules_to_cil
        - Src:             'kernel_to_cil.c:3690,8'
          Dst:             write_selinux_ibpkey_rules_to_cil
        - Src:             'kernel_to_cil.c:3695,8'
          Dst:             write_selinux_ibendport_rules_to_cil
        - Src:             'kernel_to_cil.c:3700,8'
          Dst:             write_xen_isid_rules_to_cil
        - Src:             'kernel_to_cil.c:3705,8'
          Dst:             write_xen_pirq_rules_to_cil
        - Src:             'kernel_to_cil.c:3710,8'
          Dst:             write_xen_ioport_rules_to_cil
        - Src:             'kernel_to_cil.c:3715,8'
          Dst:             write_xen_iomem_rules_to_cil
        - Src:             'kernel_to_cil.c:3720,8'
          Dst:             write_xen_pcidevice_rules_to_cil
        - Src:             'kernel_to_cil.c:3725,8'
          Dst:             write_xen_devicetree_rules_to_cil
        - Src:             'kernel_to_cil.c:3732,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:3733,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:3734,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:3735,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:3736,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:3737,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_cil.c:3738,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_cil.c:3739,2'
          Dst:             strs_destroy
    - functionName:    compare_ranges
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 471
      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:    check_for_supported_policy
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 788
      functionLinenumberEnd: 800
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          111
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dtree_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 663
      functionLinenumberEnd: 667
      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:667,9'
          Dst:             strcmp
    - functionName:    pcid_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 649
      functionLinenumberEnd: 660
      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: 638
      functionLinenumberEnd: 645
      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:642,9'
          Dst:             compare_ranges
    - functionName:    ioport_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 627
      functionLinenumberEnd: 634
      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:631,9'
          Dst:             compare_ranges
    - functionName:    pirq_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 613
      functionLinenumberEnd: 624
      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: 600
      functionLinenumberEnd: 610
      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:605,7'
          Dst:             strcmp
    - functionName:    ibpkey_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 597
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          92
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - compare_ranges
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:593,9'
          Dst:             compare_ranges
    - functionName:    node6_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 565
      functionLinenumberEnd: 580
      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:570,7'
          Dst:             memcmp
        - Src:             'kernel_to_common.c:578,9'
          Dst:             memcmp
    - functionName:    node_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 562
      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:552,7'
          Dst:             memcmp
        - Src:             'kernel_to_common.c:560,9'
          Dst:             memcmp
    - functionName:    netif_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 544
      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:515,18'
          Dst:             strcspn
        - Src:             'kernel_to_common.c:516,18'
          Dst:             strcspn
        - Src:             'kernel_to_common.c:517,17'
          Dst:             strlen
        - Src:             'kernel_to_common.c:518,17'
          Dst:             strlen
        - Src:             'kernel_to_common.c:530,10'
          Dst:             strcmp
        - Src:             'kernel_to_common.c:543,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: 490
      functionLinenumberEnd: 505
      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:495,7'
          Dst:             compare_ranges
    - functionName:    fsuse_data_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 487
      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:486,9'
          Dst:             strcmp
    - functionName:    sort_ocontext_data
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 709
      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:686,9'
          Dst:             calloc
        - Src:             'kernel_to_common.c:698,2'
          Dst:             qsort
    - functionName:    sort_ocontexts
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 712
      functionLinenumberEnd: 784
      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:716,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:716,8'
          Dst:             fsuse_data_cmp
        - Src:             'kernel_to_common.c:721,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:721,8'
          Dst:             portcon_data_cmp
        - Src:             'kernel_to_common.c:726,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:726,8'
          Dst:             netif_data_cmp
        - Src:             'kernel_to_common.c:731,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:731,8'
          Dst:             node_data_cmp
        - Src:             'kernel_to_common.c:736,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:736,8'
          Dst:             node6_data_cmp
        - Src:             'kernel_to_common.c:741,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:741,8'
          Dst:             ibpkey_data_cmp
        - Src:             'kernel_to_common.c:747,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:747,8'
          Dst:             ibendport_data_cmp
        - Src:             'kernel_to_common.c:753,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:753,8'
          Dst:             pirq_data_cmp
        - Src:             'kernel_to_common.c:758,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:758,8'
          Dst:             ioport_data_cmp
        - Src:             'kernel_to_common.c:763,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:763,8'
          Dst:             iomem_data_cmp
        - Src:             'kernel_to_common.c:768,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:768,8'
          Dst:             pcid_data_cmp
        - Src:             'kernel_to_common.c:773,8'
          Dst:             sort_ocontext_data
        - Src:             'kernel_to_common.c:773,8'
          Dst:             dtree_data_cmp
    - functionName:    isids_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 449
      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:412,7'
          Dst:             strs_init
        - Src:             'kernel_to_common.c:427,10'
          Dst:             strdup
        - Src:             'kernel_to_common.c:429,4'
          Dst:             snprintf
        - Src:             'kernel_to_common.c:430,10'
          Dst:             strdup
        - Src:             'kernel_to_common.c:436,8'
          Dst:             strs_add_at_index
        - Src:             'kernel_to_common.c:446,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_common.c:447,2'
          Dst:             strs_destroy
    - functionName:    strs_init
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 87
      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:74,14'
          Dst:             calloc
    - functionName:    strs_add_at_index
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          209
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - reallocarray
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:187,9'
          Dst:             reallocarray
    - functionName:    strs_free_all
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 113
      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: 90
      functionLinenumberEnd: 101
      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: 398
      functionLinenumberEnd: 399
      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:399,9'
          Dst:             strs_num_items
    - functionName:    strs_num_items
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 231
      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: 393
      functionLinenumberEnd: 394
      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:394,9'
          Dst:             strs_remove_last
    - functionName:    strs_remove_last
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 173
      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: 388
      functionLinenumberEnd: 389
      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:389,9'
          Dst:             strs_add
    - functionName:    strs_add
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          185
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - reallocarray
      functionUses:    31
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:125,9'
          Dst:             reallocarray
    - functionName:    strs_stack_destroy
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 384
      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:384,9'
          Dst:             strs_destroy
    - functionName:    strs_stack_init
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 379
      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:379,9'
          Dst:             strs_init
    - functionName:    ebitmap_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 374
      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:355,7'
          Dst:             strs_init
        - Src:             'kernel_to_common.c:360,7'
          Dst:             ebitmap_to_strs
        - Src:             'kernel_to_common.c:366,3'
          Dst:             strs_sort
        - Src:             'kernel_to_common.c:369,8'
          Dst:             strs_to_str
        - Src:             'kernel_to_common.c:372,2'
          Dst:             strs_destroy
    - functionName:    ebitmap_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 331
      functionLinenumberEnd: 347
      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:336,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_common.c:336,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_common.c:340,8'
          Dst:             strs_add
        - Src:             'kernel_to_common.c:336,2'
          Dst:             ebitmap_next
    - functionName:    strs_sort
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 227
      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:226,2'
          Dst:             qsort
        - Src:             'kernel_to_common.c:226,2'
          Dst:             strs_cmp
    - functionName:    strs_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         34
      ICount:          230
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - snprintf
        - strlen
        - strs_len_items
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:263,29'
          Dst:             strs_len_items
        - Src:             'kernel_to_common.c:277,9'
          Dst:             strlen
        - Src:             'kernel_to_common.c:278,8'
          Dst:             snprintf
    - functionName:    strs_len_items
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          73
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_common.c:242,35'
          Dst:             strlen
    - functionName:    strs_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 218
      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:218,9'
          Dst:             strcmp
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 322
      functionLinenumberEnd: 326
      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:326,9'
          Dst:             strs_add_at_index
    - functionName:    strs_write_each_indented
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 319
      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:316,3'
          Dst:             sepol_indent
        - Src:             'kernel_to_common.c:317,3'
          Dst:             sepol_printf
    - functionName:    sepol_indent
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 30
      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:27,6'
          Dst:             fprintf
    - functionName:    sepol_printf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 40
      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:36,6'
          Dst:             vfprintf
    - functionName:    strs_write_each
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 306
      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:304,3'
          Dst:             sepol_printf
    - functionName:    strs_read_at_index
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 212
      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: 142
      functionLinenumberEnd: 164
      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:148,7'
          Dst:             vasprintf
        - Src:             'kernel_to_common.c:154,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: 43
      functionLinenumberEnd: 56
      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:49,7'
          Dst:             vasprintf
    - functionName:    context_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2633
      functionLinenumberEnd: 2649
      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:2642,11'
          Dst:             range_to_str
        - Src:             'kernel_to_conf.c:2643,9'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:2646,9'
          Dst:             create_str
    - functionName:    range_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2147
      functionLinenumberEnd: 2168
      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:2152,8'
          Dst:             level_to_str
        - Src:             'kernel_to_conf.c:2157,9'
          Dst:             level_to_str
        - Src:             'kernel_to_conf.c:2162,14'
          Dst:             create_str
    - functionName:    level_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2129
      functionLinenumberEnd: 2143
      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:2136,14'
          Dst:             cats_ebitmap_to_str
        - Src:             'kernel_to_conf.c:2137,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:2140,15'
          Dst:             create_str
    - functionName:    cats_ebitmap_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1184
      functionLinenumberEnd: 1238
      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:1191,19'
          Dst:             cats_ebitmap_len
        - Src:             'kernel_to_conf.c:1204,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1204,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1210,7'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_conf.c:1215,10'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:1219,10'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:1204,2'
          Dst:             ebitmap_next
    - functionName:    cats_ebitmap_len
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1157
      functionLinenumberEnd: 1180
      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:1163,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1163,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1169,7'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_conf.c:1172,10'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:1174,11'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:1163,2'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 2655
      functionLinenumberEnd: 2709
      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:2664,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2674,4'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2679,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2685,10'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:2692,8'
          Dst:             strs_add_at_index
        - Src:             'kernel_to_conf.c:2699,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2702,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2703,2'
          Dst:             strs_destroy
    - functionName:    write_cond_av_list_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2242
      functionLinenumberEnd: 2291
      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:2255,8'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2266,12'
          Dst:             avtab_node_to_str
        - Src:             'kernel_to_conf.c:2271,10'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:2279,3'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2280,3'
          Dst:             strs_write_each_indented
        - Src:             'kernel_to_conf.c:2281,3'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2282,3'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:2288,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2289,2'
          Dst:             strs_destroy
    - functionName:    avtab_node_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1878
      functionLinenumberEnd: 1969
      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:1884,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:1930,16'
          Dst:             sepol_av_to_string
        - Src:             'kernel_to_conf.c:1940,10'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:1944,16'
          Dst:             sepol_extended_perms_to_string
        - Src:             'kernel_to_conf.c:1951,10'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:1957,10'
          Dst:             create_str
    - functionName:    cond_node_cmp
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2299
      functionLinenumberEnd: 2302
      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:2302,9'
          Dst:             strcmp
    - functionName:    cond_expr_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 138
      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:53,4'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:38,7'
          Dst:             strs_stack_init
        - Src:             'kernel_to_conf.c:46,14'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:85,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:92,11'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:99,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:103,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:111,8'
          Dst:             strs_stack_push
        - Src:             'kernel_to_conf.c:118,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:119,19'
          Dst:             strs_stack_empty
        - Src:             'kernel_to_conf.c:126,2'
          Dst:             strs_stack_destroy
        - Src:             'kernel_to_conf.c:131,21'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:134,3'
          Dst:             strs_stack_destroy
    - functionName:    map_range_trans_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2177
      functionLinenumberEnd: 2203
      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:2189,10'
          Dst:             range_to_str
        - Src:             'kernel_to_conf.c:2195,7'
          Dst:             strs_create_and_add
    - functionName:    map_filename_trans_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2062
      functionLinenumberEnd: 2092
      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:2079,3'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:2079,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:2081,9'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:2079,3'
          Dst:             ebitmap_next
    - functionName:    map_avtab_write_helper
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1979
      functionLinenumberEnd: 2001
      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:1988,10'
          Dst:             avtab_node_to_str
        - Src:             'kernel_to_conf.c:1993,8'
          Dst:             strs_add
    - functionName:    write_avtab_flavor_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2006
      functionLinenumberEnd: 2032
      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:2011,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2020,7'
          Dst:             avtab_map
        - Src:             'kernel_to_conf.c:2020,7'
          Dst:             map_avtab_write_helper
        - Src:             'kernel_to_conf.c:2025,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2026,2'
          Dst:             strs_write_each_indented
        - Src:             'kernel_to_conf.c:2029,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2030,2'
          Dst:             strs_destroy
    - functionName:    attr_strs_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1654
      functionLinenumberEnd: 1702
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         41
      ICount:          287
      EdgeCount:       53
      CyclomaticComplexity: 14
      functionsReached:
        - snprintf
        - strlen
        - strs_len_items
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kernel_to_conf.c:1671,34'
          Dst:             strs_len_items
        - Src:             'kernel_to_conf.c:1685,9'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:1686,8'
          Dst:             snprintf
    - functionName:    attrmap_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1706
      functionLinenumberEnd: 1728
      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:1711,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1716,7'
          Dst:             ebitmap_to_strs
        - Src:             'kernel_to_conf.c:1721,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1723,8'
          Dst:             attr_strs_to_str
        - Src:             'kernel_to_conf.c:1726,2'
          Dst:             strs_destroy
    - functionName:    map_type_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1537
      functionLinenumberEnd: 1545
      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:1543,8'
          Dst:             strs_add
    - functionName:    map_count_type_aliases
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1526
      functionLinenumberEnd: 1533
      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: 1440
      functionLinenumberEnd: 1447
      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:1447,9'
          Dst:             strs_create_and_add
    - functionName:    map_category_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1043
      functionLinenumberEnd: 1052
      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:1049,8'
          Dst:             strs_add
    - functionName:    map_sensitivity_aliases_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 902
      functionLinenumberEnd: 911
      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:908,8'
          Dst:             strs_add
    - functionName:    write_level_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1241
      functionLinenumberEnd: 1274
      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:1251,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:1260,11'
          Dst:             cats_ebitmap_to_str
        - Src:             'kernel_to_conf.c:1262,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1265,4'
          Dst:             sepol_printf
    - functionName:    write_category_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1056
      functionLinenumberEnd: 1153
      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:1064,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1069,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:1069,7'
          Dst:             map_category_aliases_to_strs
        - Src:             'kernel_to_conf.c:1074,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1078,4'
          Dst:             calloc
        - Src:             'kernel_to_conf.c:1086,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1087,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:1094,24'
          Dst:             strdup
        - Src:             'kernel_to_conf.c:1102,6'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:1117,9'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:1127,8'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:1128,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1131,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1135,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1147,2'
          Dst:             strs_destroy
    - functionName:    write_sensitivity_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 915
      functionLinenumberEnd: 1039
      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:923,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:928,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:928,7'
          Dst:             map_sensitivity_aliases_to_strs
        - Src:             'kernel_to_conf.c:934,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:938,4'
          Dst:             calloc
        - Src:             'kernel_to_conf.c:946,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:947,12'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:954,25'
          Dst:             strdup
        - Src:             'kernel_to_conf.c:962,6'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:977,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:987,8'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:988,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:992,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:996,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1001,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1007,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:1016,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1021,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1023,2'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1033,2'
          Dst:             strs_destroy
    - functionName:    write_default_range_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 792
      functionLinenumberEnd: 825
      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:795,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:822,2'
          Dst:             sepol_printf
    - functionName:    write_default_type_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 770
      functionLinenumberEnd: 788
      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:773,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:785,2'
          Dst:             sepol_printf
    - functionName:    write_default_role_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 766
      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:751,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:763,2'
          Dst:             sepol_printf
    - functionName:    write_default_user_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 726
      functionLinenumberEnd: 744
      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:729,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:741,2'
          Dst:             sepol_printf
    - functionName:    class_or_common_perms_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 644
      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:627,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:632,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:632,7'
          Dst:             hashtab_ordered_to_strs
        - Src:             'kernel_to_conf.c:637,6'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:638,11'
          Dst:             strs_to_str
        - Src:             'kernel_to_conf.c:642,2'
          Dst:             strs_destroy
    - functionName:    write_sids_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 602
      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:582,9'
          Dst:             isids_to_strs
        - Src:             'kernel_to_conf.c:588,6'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:589,3'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:593,18'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:594,9'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:595,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:598,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:599,2'
          Dst:             strs_destroy
    - functionName:    class_validatetrans_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 476
      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:453,10'
          Dst:             constraint_expr_to_str
        - Src:             'kernel_to_conf.c:467,8'
          Dst:             strs_create_and_add
    - functionName:    constraint_expr_to_str
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 370
      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:163,4'
          Branch Sides:    []
        - Branch String:   'kernel_to_conf.c:185,4'
          Branch Sides:    []
        - Branch String:   'kernel_to_conf.c:296,4'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:152,7'
          Dst:             strs_stack_init
        - Src:             'kernel_to_conf.c:257,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:263,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:267,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:271,14'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:276,14'
          Dst:             strdup
        - Src:             'kernel_to_conf.c:282,9'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:283,16'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:286,16'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:317,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:324,11'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:331,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:335,15'
          Dst:             create_str
        - Src:             'kernel_to_conf.c:342,8'
          Dst:             strs_stack_push
        - Src:             'kernel_to_conf.c:349,12'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:350,19'
          Dst:             strs_stack_empty
        - Src:             'kernel_to_conf.c:357,2'
          Dst:             strs_stack_destroy
        - Src:             'kernel_to_conf.c:363,21'
          Dst:             strs_stack_pop
        - Src:             'kernel_to_conf.c:366,3'
          Dst:             strs_stack_destroy
    - functionName:    class_constraint_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 377
      functionLinenumberEnd: 437
      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:389,10'
          Dst:             constraint_expr_to_str
        - Src:             'kernel_to_conf.c:395,11'
          Dst:             sepol_av_to_string
        - Src:             'kernel_to_conf.c:408,7'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:423,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: 3313
      functionLinenumberEnd: 3336
      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:3320,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3326,3'
          Dst:             sepol_printf
    - functionName:    write_xen_pcidevice_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3277
      functionLinenumberEnd: 3309
      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:3284,8'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3291,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3297,3'
          Dst:             sepol_printf
    - functionName:    write_xen_ioport_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3189
      functionLinenumberEnd: 3229
      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:3202,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3204,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3211,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3217,3'
          Dst:             sepol_printf
    - functionName:    write_xen_iomem_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3233
      functionLinenumberEnd: 3273
      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:3245,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3247,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3255,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3261,3'
          Dst:             sepol_printf
    - functionName:    write_xen_pirq_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3154
      functionLinenumberEnd: 3185
      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:3161,8'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3167,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3173,3'
          Dst:             sepol_printf
    - functionName:    write_xen_isid_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3148
      functionLinenumberEnd: 3149
      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:3149,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: 3110
      functionLinenumberEnd: 3144
      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:3118,8'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3125,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3131,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_ibpkey_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3051
      functionLinenumberEnd: 3105
      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:3067,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:3077,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3079,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:3086,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3092,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_node6_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3009
      functionLinenumberEnd: 3047
      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:3017,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:3024,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:3031,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:3037,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_node_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2967
      functionLinenumberEnd: 3005
      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:2975,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:2982,7'
          Dst:             inet_ntop
        - Src:             'kernel_to_conf.c:2989,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2995,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_netif_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2933
      functionLinenumberEnd: 2963
      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:2940,10'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2945,10'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2952,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_port_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2867
      functionLinenumberEnd: 2929
      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:2878,3'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:2901,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2903,9'
          Dst:             snprintf
        - Src:             'kernel_to_conf.c:2910,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2916,3'
          Dst:             sepol_printf
    - functionName:    write_genfscon_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2764
      functionLinenumberEnd: 2863
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         66
      ICount:          383
      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:2772,17'
          Dst:             ebitmap_get_bit
        - Src:             'kernel_to_conf.c:2776,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2791,9'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2793,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2795,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2798,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2801,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2804,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2807,16'
          Dst:             strcmp
        - Src:             'kernel_to_conf.c:2816,10'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2822,15'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:2836,10'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:2841,10'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:2852,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2853,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2856,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2857,2'
          Dst:             strs_destroy
    - functionName:    write_selinux_fsuse_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2719
      functionLinenumberEnd: 2760
      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:2726,3'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:2744,9'
          Dst:             context_to_str
        - Src:             'kernel_to_conf.c:2750,3'
          Dst:             sepol_printf
    - functionName:    write_selinux_isid_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2713
      functionLinenumberEnd: 2714
      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:2714,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: 2549
      functionLinenumberEnd: 2629
      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:2556,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2564,8'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:2570,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2572,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:2575,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:2579,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:2584,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2587,12'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:2593,8'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:2594,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2596,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2602,12'
          Dst:             level_to_str
        - Src:             'kernel_to_conf.c:2607,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2610,12'
          Dst:             range_to_str
        - Src:             'kernel_to_conf.c:2615,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2618,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2623,3'
          Dst:             strs_destroy
    - functionName:    write_role_allow_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2511
      functionLinenumberEnd: 2545
      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:2517,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2526,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:2534,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2535,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2538,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2539,2'
          Dst:             strs_destroy
    - functionName:    write_role_transition_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2470
      functionLinenumberEnd: 2507
      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:2476,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2487,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:2496,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2497,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2500,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2501,2'
          Dst:             strs_destroy
    - functionName:    write_role_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2383
      functionLinenumberEnd: 2466
      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:2390,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2399,9'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:2406,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2408,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:2411,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:2415,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2419,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:2422,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:2429,11'
          Dst:             ebitmap_to_str
        - Src:             'kernel_to_conf.c:2435,7'
          Dst:             strlen
        - Src:             'kernel_to_conf.c:2440,11'
          Dst:             strchr
        - Src:             'kernel_to_conf.c:2448,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2453,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2460,2'
          Dst:             strs_destroy
    - functionName:    write_cond_nodes_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2306
      functionLinenumberEnd: 2380
      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:2322,14'
          Dst:             calloc
        - Src:             'kernel_to_conf.c:2331,10'
          Dst:             cond_expr_to_str
        - Src:             'kernel_to_conf.c:2340,2'
          Dst:             qsort
        - Src:             'kernel_to_conf.c:2340,2'
          Dst:             cond_node_cmp
        - Src:             'kernel_to_conf.c:2346,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2349,9'
          Dst:             write_cond_av_list_to_conf
        - Src:             'kernel_to_conf.c:2357,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:2358,9'
          Dst:             write_cond_av_list_to_conf
        - Src:             'kernel_to_conf.c:2364,3'
          Dst:             sepol_printf
    - functionName:    write_range_trans_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2207
      functionLinenumberEnd: 2237
      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:2212,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2220,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:2220,7'
          Dst:             map_range_trans_to_str
        - Src:             'kernel_to_conf.c:2225,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2226,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2229,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2230,2'
          Dst:             strs_destroy
    - functionName:    write_filename_trans_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2095
      functionLinenumberEnd: 2125
      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:2100,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:2108,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:2108,7'
          Dst:             map_filename_trans_to_str
        - Src:             'kernel_to_conf.c:2113,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:2114,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:2117,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:2118,2'
          Dst:             strs_destroy
    - functionName:    write_avtab_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2036
      functionLinenumberEnd: 2053
      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:2041,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: 1835
      functionLinenumberEnd: 1873
      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:1842,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1847,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1847,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1848,8'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1847,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_conf.c:1854,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1856,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1858,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1863,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1867,2'
          Dst:             strs_destroy
    - functionName:    write_type_permissive_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1793
      functionLinenumberEnd: 1831
      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:1800,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1805,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1805,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1806,8'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1805,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_conf.c:1812,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1814,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1816,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1821,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1825,2'
          Dst:             strs_destroy
    - functionName:    write_type_attribute_sets_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1732
      functionLinenumberEnd: 1789
      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:1740,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1749,7'
          Dst:             ebitmap_cardinality
        - Src:             'kernel_to_conf.c:1752,8'
          Dst:             ebitmap_cpy
        - Src:             'kernel_to_conf.c:1756,8'
          Dst:             ebitmap_set_bit
        - Src:             'kernel_to_conf.c:1758,4'
          Dst:             ebitmap_destroy
        - Src:             'kernel_to_conf.c:1762,11'
          Dst:             attrmap_to_str
        - Src:             'kernel_to_conf.c:1763,3'
          Dst:             ebitmap_destroy
        - Src:             'kernel_to_conf.c:1769,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:1777,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1778,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:1781,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:1782,2'
          Dst:             strs_destroy
    - functionName:    write_type_bounds_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1600
      functionLinenumberEnd: 1650
      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:1608,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1617,10'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1625,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1627,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1629,11'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1634,10'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:1640,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1644,2'
          Dst:             strs_destroy
    - functionName:    write_type_alias_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1549
      functionLinenumberEnd: 1596
      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:1557,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:1557,7'
          Dst:             map_count_type_aliases
        - Src:             'kernel_to_conf.c:1562,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1567,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:1567,7'
          Dst:             map_type_aliases_to_strs
        - Src:             'kernel_to_conf.c:1572,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1575,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1580,11'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:1586,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1590,2'
          Dst:             strs_destroy
    - functionName:    write_type_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1480
      functionLinenumberEnd: 1521
      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:1487,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1495,9'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1502,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1504,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1506,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1511,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1515,2'
          Dst:             strs_destroy
    - functionName:    write_boolean_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1451
      functionLinenumberEnd: 1476
      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:1455,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1460,7'
          Dst:             hashtab_map
        - Src:             'kernel_to_conf.c:1460,7'
          Dst:             map_boolean_to_strs
        - Src:             'kernel_to_conf.c:1465,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1466,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:1469,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:1470,2'
          Dst:             strs_destroy
    - functionName:    write_role_attributes_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1395
      functionLinenumberEnd: 1436
      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:1402,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1410,9'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1417,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1419,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1421,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1426,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1430,2'
          Dst:             strs_destroy
    - functionName:    write_type_attributes_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1350
      functionLinenumberEnd: 1391
      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:1357,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1365,9'
          Dst:             strs_add
        - Src:             'kernel_to_conf.c:1372,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1374,8'
          Dst:             strs_num_items
        - Src:             'kernel_to_conf.c:1376,10'
          Dst:             strs_read_at_index
        - Src:             'kernel_to_conf.c:1381,3'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:1385,2'
          Dst:             strs_destroy
    - functionName:    write_polcap_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1309
      functionLinenumberEnd: 1346
      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:1316,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:1321,2'
          Dst:             ebitmap_start
        - Src:             'kernel_to_conf.c:1321,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'kernel_to_conf.c:1322,10'
          Dst:             sepol_polcap_getname
        - Src:             'kernel_to_conf.c:1329,8'
          Dst:             strs_create_and_add
        - Src:             'kernel_to_conf.c:1321,2'
          Dst:             ebitmap_next
        - Src:             'kernel_to_conf.c:1335,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:1336,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:1339,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:1340,2'
          Dst:             strs_destroy
    - functionName:    write_mls_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1278
      functionLinenumberEnd: 1306
      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:1285,7'
          Dst:             write_sensitivity_rules_to_conf
        - Src:             'kernel_to_conf.c:1290,7'
          Dst:             write_category_rules_to_conf
        - Src:             'kernel_to_conf.c:1295,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: 828
      functionLinenumberEnd: 899
      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:839,9'
          Dst:             write_default_user_to_conf
        - Src:             'kernel_to_conf.c:853,9'
          Dst:             write_default_role_to_conf
        - Src:             'kernel_to_conf.c:867,9'
          Dst:             write_default_type_to_conf
        - Src:             'kernel_to_conf.c:885,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: 648
      functionLinenumberEnd: 721
      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:657,9'
          Dst:             calloc
        - Src:             'kernel_to_conf.c:670,12'
          Dst:             hashtab_search
        - Src:             'kernel_to_conf.c:678,12'
          Dst:             class_or_common_perms_to_str
        - Src:             'kernel_to_conf.c:685,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:698,11'
          Dst:             class_or_common_perms_to_str
        - Src:             'kernel_to_conf.c:702,4'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:704,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:709,5'
          Dst:             sepol_printf
        - Src:             'kernel_to_conf.c:712,4'
          Dst:             sepol_printf
    - functionName:    write_sid_decl_rules_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 605
      functionLinenumberEnd: 619
      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:609,8'
          Dst:             write_sids_to_conf
        - Src:             'kernel_to_conf.c:612,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: 563
      functionLinenumberEnd: 572
      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:569,3'
          Dst:             sepol_printf
    - functionName:    write_handle_unknown_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 538
      functionLinenumberEnd: 560
      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:541,2'
          Branch Sides:    []
      Callsites:
        - Src:             'kernel_to_conf.c:557,2'
          Dst:             sepol_printf
    - functionName:    validatetrans_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 534
      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:521,9'
          Dst:             class_validatetrans_rules_to_strs
        - Src:             'kernel_to_conf.c:530,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:531,2'
          Dst:             strs_sort
    - functionName:    constraint_rules_to_strs
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 505
      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:491,9'
          Dst:             class_constraint_rules_to_strs
        - Src:             'kernel_to_conf.c:501,2'
          Dst:             strs_sort
        - Src:             'kernel_to_conf.c:502,2'
          Dst:             strs_sort
    - functionName:    sepol_kernel_policydb_to_conf
      functionSourceFile: '/src/selinux/libsepol/src/kernel_to_conf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3340
      functionLinenumberEnd: 3606
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         108
      ICount:          655
      EdgeCount:       158
      CyclomaticComplexity: 52
      functionsReached:
        - check_for_supported_policy
        - 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:3347,7'
          Dst:             check_for_supported_policy
        - Src:             'kernel_to_conf.c:3352,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:3357,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:3362,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:3367,7'
          Dst:             strs_init
        - Src:             'kernel_to_conf.c:3372,7'
          Dst:             constraint_rules_to_strs
        - Src:             'kernel_to_conf.c:3378,7'
          Dst:             validatetrans_rules_to_strs
        - Src:             'kernel_to_conf.c:3384,7'
          Dst:             write_handle_unknown_to_conf
        - Src:             'kernel_to_conf.c:3389,7'
          Dst:             write_class_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3394,7'
          Dst:             write_sid_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3399,7'
          Dst:             write_class_and_common_rules_to_conf
        - Src:             'kernel_to_conf.c:3404,7'
          Dst:             write_default_rules_to_conf
        - Src:             'kernel_to_conf.c:3409,7'
          Dst:             write_mls_rules_to_conf
        - Src:             'kernel_to_conf.c:3414,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:3415,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:3417,7'
          Dst:             write_polcap_rules_to_conf
        - Src:             'kernel_to_conf.c:3422,7'
          Dst:             write_type_attributes_to_conf
        - Src:             'kernel_to_conf.c:3427,7'
          Dst:             write_role_attributes_to_conf
        - Src:             'kernel_to_conf.c:3432,7'
          Dst:             write_boolean_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3437,7'
          Dst:             write_type_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3442,7'
          Dst:             write_type_alias_rules_to_conf
        - Src:             'kernel_to_conf.c:3447,7'
          Dst:             write_type_bounds_rules_to_conf
        - Src:             'kernel_to_conf.c:3452,7'
          Dst:             write_type_attribute_sets_to_conf
        - Src:             'kernel_to_conf.c:3457,7'
          Dst:             write_type_permissive_rules_to_conf
        - Src:             'kernel_to_conf.c:3462,7'
          Dst:             write_type_neveraudit_rules_to_conf
        - Src:             'kernel_to_conf.c:3467,7'
          Dst:             write_avtab_to_conf
        - Src:             'kernel_to_conf.c:3471,2'
          Dst:             write_filename_trans_rules_to_conf
        - Src:             'kernel_to_conf.c:3474,8'
          Dst:             write_range_trans_rules_to_conf
        - Src:             'kernel_to_conf.c:3480,7'
          Dst:             write_cond_nodes_to_conf
        - Src:             'kernel_to_conf.c:3485,7'
          Dst:             write_role_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3490,7'
          Dst:             write_role_transition_rules_to_conf
        - Src:             'kernel_to_conf.c:3495,7'
          Dst:             write_role_allow_rules_to_conf
        - Src:             'kernel_to_conf.c:3500,7'
          Dst:             write_user_decl_rules_to_conf
        - Src:             'kernel_to_conf.c:3505,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:3506,2'
          Dst:             strs_write_each
        - Src:             'kernel_to_conf.c:3508,7'
          Dst:             sort_ocontexts
        - Src:             'kernel_to_conf.c:3514,8'
          Dst:             write_selinux_isid_rules_to_conf
        - Src:             'kernel_to_conf.c:3519,8'
          Dst:             write_selinux_fsuse_rules_to_conf
        - Src:             'kernel_to_conf.c:3524,8'
          Dst:             write_genfscon_rules_to_conf
        - Src:             'kernel_to_conf.c:3529,8'
          Dst:             write_selinux_port_rules_to_conf
        - Src:             'kernel_to_conf.c:3534,8'
          Dst:             write_selinux_netif_rules_to_conf
        - Src:             'kernel_to_conf.c:3539,8'
          Dst:             write_selinux_node_rules_to_conf
        - Src:             'kernel_to_conf.c:3544,8'
          Dst:             write_selinux_node6_rules_to_conf
        - Src:             'kernel_to_conf.c:3549,8'
          Dst:             write_selinux_ibpkey_rules_to_conf
        - Src:             'kernel_to_conf.c:3554,8'
          Dst:             write_selinux_ibendport_rules_to_conf
        - Src:             'kernel_to_conf.c:3559,8'
          Dst:             write_xen_isid_rules_to_conf
        - Src:             'kernel_to_conf.c:3564,8'
          Dst:             write_genfscon_rules_to_conf
        - Src:             'kernel_to_conf.c:3569,8'
          Dst:             write_xen_pirq_rules_to_conf
        - Src:             'kernel_to_conf.c:3574,8'
          Dst:             write_xen_iomem_rules_to_conf
        - Src:             'kernel_to_conf.c:3579,8'
          Dst:             write_xen_ioport_rules_to_conf
        - Src:             'kernel_to_conf.c:3584,8'
          Dst:             write_xen_pcidevice_rules_to_conf
        - Src:             'kernel_to_conf.c:3589,8'
          Dst:             write_xen_devicetree_rules_to_conf
        - Src:             'kernel_to_conf.c:3596,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:3597,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:3598,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:3599,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:3600,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:3601,2'
          Dst:             strs_destroy
        - Src:             'kernel_to_conf.c:3602,2'
          Dst:             strs_free_all
        - Src:             'kernel_to_conf.c:3603,2'
          Dst:             strs_destroy
    - functionName:    find_perm
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1955
      functionLinenumberEnd: 1965
      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: 2066
      functionLinenumberEnd: 2134
      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:2076,9'
          Dst:             is_decl_requires_met
        - Src:             'link.c:2094,11'
          Dst:             hashtab_map
        - Src:             'link.c:2094,11'
          Dst:             find_perm
    - functionName:    is_decl_requires_met
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1976
      functionLinenumberEnd: 2063
      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:1995,3'
          Dst:             ebitmap_start
        - Src:             'link.c:1995,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'link.c:1998,9'
          Dst:             is_id_enabled
        - Src:             'link.c:1995,3'
          Dst:             ebitmap_next
        - Src:             'link.c:2016,8'
          Dst:             is_id_enabled
        - Src:             'link.c:2023,11'
          Dst:             hashtab_search
        - Src:             'link.c:2031,3'
          Dst:             ebitmap_start
        - Src:             'link.c:2031,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'link.c:2039,10'
          Dst:             hashtab_map
        - Src:             'link.c:2039,10'
          Dst:             find_perm
        - Src:             'link.c:2042,10'
          Dst:             hashtab_map
        - Src:             'link.c:2042,10'
          Dst:             find_perm
        - Src:             'link.c:2045,5'
          Dst:             __assert_fail
        - Src:             'link.c:2049,4'
          Dst:             __assert_fail
        - Src:             'link.c:2050,9'
          Dst:             is_perm_existent
        - Src:             'link.c:2031,3'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 2138
      functionLinenumberEnd: 2172
      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:2157,10'
          Dst:             hashtab_map
        - Src:             'link.c:2157,10'
          Dst:             find_perm
    - functionName:    copy_scope_index
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1649
      functionLinenumberEnd: 1707
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          350
      EdgeCount:       69
      CyclomaticComplexity: 18
      functionsReached:
        - __assert_fail
        - calloc
        - ebitmap_convert
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_set_bit
        - ebitmap_start
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'link.c:1661,3'
          Dst:             ebitmap_start
        - Src:             'link.c:1661,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'link.c:1662,4'
          Dst:             __assert_fail
        - Src:             'link.c:1663,8'
          Dst:             ebitmap_set_bit
        - Src:             'link.c:1661,3'
          Dst:             ebitmap_next
        - Src:             'link.c:1683,31'
          Dst:             calloc
        - Src:             'link.c:1698,7'
          Dst:             ebitmap_convert
    - functionName:    ebitmap_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 983
      functionLinenumberEnd: 993
      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:986,2'
          Dst:             ebitmap_start
        - Src:             'link.c:986,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'link.c:987,3'
          Dst:             __assert_fail
        - Src:             'link.c:988,7'
          Dst:             ebitmap_set_bit
        - Src:             'link.c:986,2'
          Dst:             ebitmap_next
    - functionName:    class_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 352
      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:265,14'
          Dst:             hashtab_search
        - Src:             'link.c:272,11'
          Dst:             hashtab_search
        - Src:             'link.c:296,33'
          Dst:             calloc
        - Src:             'link.c:303,8'
          Dst:             symtab_init
        - Src:             'link.c:308,13'
          Dst:             strdup
        - Src:             'link.c:311,5'
          Dst:             symtab_destroy
        - Src:             'link.c:315,10'
          Dst:             hashtab_insert
        - Src:             'link.c:321,5'
          Dst:             symtab_destroy
        - Src:             'link.c:337,8'
          Dst:             class_copy_default_new_object
        - Src:             'link.c:341,8'
          Dst:             hashtab_map
        - Src:             'link.c:341,8'
          Dst:             permission_copy_callback
    - functionName:    role_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 439
      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:364,14'
          Dst:             hashtab_search
        - Src:             'link.c:387,17'
          Dst:             strdup
        - Src:             'link.c:395,3'
          Dst:             role_datum_init
        - Src:             'link.c:402,9'
          Dst:             hashtab_insert
        - Src:             'link.c:417,3'
          Dst:             role_datum_init
        - Src:             'link.c:420,17'
          Dst:             strdup
        - Src:             'link.c:423,7'
          Dst:             hashtab_insert
        - Src:             'link.c:435,2'
          Dst:             role_datum_destroy
    - functionName:    type_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 537
      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:459,14'
          Dst:             hashtab_search
        - Src:             'link.c:484,17'
          Dst:             strdup
        - Src:             'link.c:488,35'
          Dst:             calloc
        - Src:             'link.c:500,9'
          Dst:             hashtab_insert
        - Src:             'link.c:512,19'
          Dst:             calloc
        - Src:             'link.c:519,17'
          Dst:             strdup
        - Src:             'link.c:522,7'
          Dst:             hashtab_insert
    - functionName:    user_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 541
      functionLinenumberEnd: 604
      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:549,14'
          Dst:             hashtab_search
        - Src:             'link.c:554,17'
          Dst:             strdup
        - Src:             'link.c:562,3'
          Dst:             user_datum_init
        - Src:             'link.c:568,9'
          Dst:             hashtab_insert
        - Src:             'link.c:583,3'
          Dst:             user_datum_init
        - Src:             'link.c:585,17'
          Dst:             strdup
        - Src:             'link.c:588,7'
          Dst:             hashtab_insert
        - Src:             'link.c:600,2'
          Dst:             user_datum_destroy
    - functionName:    bool_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 608
      functionLinenumberEnd: 674
      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:617,14'
          Dst:             hashtab_search
        - Src:             'link.c:622,17'
          Dst:             strdup
        - Src:             'link.c:632,9'
          Dst:             hashtab_insert
        - Src:             'link.c:658,10'
          Dst:             hashtab_search
        - Src:             'link.c:672,2'
          Dst:             cond_destroy_bool
    - functionName:    sens_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 715
      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:686,15'
          Dst:             hashtab_search
        - Src:             'link.c:688,11'
          Dst:             hashtab_search
    - functionName:    cat_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 719
      functionLinenumberEnd: 756
      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:727,13'
          Dst:             hashtab_search
        - Src:             'link.c:729,11'
          Dst:             hashtab_search
    - functionName:    class_copy_default_new_object
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 251
      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:140,15'
          Dst:             hashtab_search
        - Src:             'link.c:149,13'
          Dst:             strdup
        - Src:             'link.c:156,21'
          Dst:             calloc
        - Src:             'link.c:162,10'
          Dst:             hashtab_insert
        - Src:             'link.c:188,22'
          Dst:             calloc
    - functionName:    copy_range_trans_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1498
      functionLinenumberEnd: 1534
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          180
      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:1508,3'
          Dst:             range_trans_rule_init
        - Src:             'link.c:1513,7'
          Dst:             type_set_convert
        - Src:             'link.c:1516,7'
          Dst:             type_set_convert
        - Src:             'link.c:1519,7'
          Dst:             ebitmap_convert
        - Src:             'link.c:1523,7'
          Dst:             mls_range_convert
        - Src:             'link.c:1531,2'
          Dst:             range_trans_rule_list_destroy
    - functionName:    type_set_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 997
      functionLinenumberEnd: 1009
      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:998,6'
          Dst:             ebitmap_convert
        - Src:             'link.c:1001,6'
          Dst:             ebitmap_convert
    - functionName:    mls_range_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1094
      functionLinenumberEnd: 1103
      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:1096,8'
          Dst:             mls_level_convert
        - Src:             'link.c:1099,8'
          Dst:             mls_level_convert
    - functionName:    mls_level_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1057
      functionLinenumberEnd: 1089
      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:1067,2'
          Dst:             __assert_fail
        - Src:             'link.c:1077,3'
          Dst:             mls_semantic_cat_init
        - Src:             'link.c:1082,3'
          Dst:             __assert_fail
        - Src:             'link.c:1084,3'
          Dst:             __assert_fail
    - functionName:    copy_filename_trans_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1452
      functionLinenumberEnd: 1493
      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:1465,3'
          Dst:             filename_trans_rule_init
        - Src:             'link.c:1473,20'
          Dst:             strdup
        - Src:             'link.c:1477,7'
          Dst:             type_set_or_convert
        - Src:             'link.c:1479,7'
          Dst:             type_set_or_convert
    - functionName:    type_set_or_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1016
      functionLinenumberEnd: 1032
      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:1019,2'
          Dst:             type_set_init
        - Src:             'link.c:1020,6'
          Dst:             type_set_convert
        - Src:             'link.c:1023,6'
          Dst:             type_set_or_eq
        - Src:             'link.c:1026,2'
          Dst:             type_set_destroy
        - Src:             'link.c:1030,2'
          Dst:             type_set_destroy
    - functionName:    copy_cond_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1538
      functionLinenumberEnd: 1600
      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:1555,20'
          Dst:             cond_copy_expr
        - Src:             'link.c:1564,4'
          Dst:             __assert_fail
        - Src:             'link.c:1574,4'
          Dst:             __assert_fail
        - Src:             'link.c:1579,7'
          Dst:             copy_avrule_list
        - Src:             'link.c:1581,7'
          Dst:             copy_avrule_list
        - Src:             'link.c:1597,2'
          Dst:             cond_node_destroy
    - functionName:    copy_avrule_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1360
      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:1272,3'
          Dst:             avrule_init
        - Src:             'link.c:1276,7'
          Dst:             type_set_convert
        - Src:             'link.c:1278,7'
          Dst:             type_set_convert
        - Src:             'link.c:1290,4'
          Dst:             class_perm_node_init
        - Src:             'link.c:1294,4'
          Dst:             __assert_fail
        - Src:             'link.c:1320,5'
          Dst:             __assert_fail
        - Src:             'link.c:1328,23'
          Dst:             calloc
        - Src:             'link.c:1339,5'
          Dst:             strdup
        - Src:             'link.c:1357,2'
          Dst:             avrule_destroy
    - functionName:    copy_role_allow_list
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1411
      functionLinenumberEnd: 1446
      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:1425,3'
          Dst:             role_allow_rule_init
        - Src:             'link.c:1427,7'
          Dst:             role_set_or_convert
        - Src:             'link.c:1429,7'
          Dst:             role_set_or_convert
        - Src:             'link.c:1444,2'
          Dst:             role_allow_rule_list_destroy
    - functionName:    role_set_or_convert
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1036
      functionLinenumberEnd: 1052
      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:1039,2'
          Dst:             ebitmap_init
        - Src:             'link.c:1040,6'
          Dst:             ebitmap_convert
        - Src:             'link.c:1042,6'
          Dst:             ebitmap_union
        - Src:             'link.c:1046,2'
          Dst:             ebitmap_destroy
        - Src:             'link.c:1050,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 1365
      functionLinenumberEnd: 1406
      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:1378,3'
          Dst:             role_trans_rule_init
        - Src:             'link.c:1380,7'
          Dst:             role_set_or_convert
        - Src:             'link.c:1382,7'
          Dst:             type_set_or_convert
        - Src:             'link.c:1387,7'
          Dst:             ebitmap_convert
        - Src:             'link.c:1404,2'
          Dst:             role_trans_rule_list_destroy
    - functionName:    copy_avrule_decl
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1711
      functionLinenumberEnd: 1752
      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:1715,6'
          Dst:             copy_avrule_list
        - Src:             'link.c:1717,6'
          Dst:             copy_role_trans_list
        - Src:             'link.c:1720,6'
          Dst:             copy_role_allow_list
        - Src:             'link.c:1723,6'
          Dst:             copy_cond_list
        - Src:             'link.c:1728,6'
          Dst:             copy_filename_trans_list
        - Src:             'link.c:1733,6'
          Dst:             copy_range_trans_list
        - Src:             'link.c:1738,8'
          Dst:             copy_identifiers
        - Src:             'link.c:1744,6'
          Dst:             copy_scope_index
        - Src:             'link.c:1746,6'
          Dst:             copy_scope_index
    - functionName:    copy_identifiers
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1606
      functionLinenumberEnd: 1645
      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:1612,10'
          Dst:             hashtab_map
        - Src:             'link.c:1620,6'
          Dst:             hashtab_map
        - Src:             'link.c:1620,6'
          Dst:             type_bounds_copy_callback
        - Src:             'link.c:1624,6'
          Dst:             hashtab_map
        - Src:             'link.c:1624,6'
          Dst:             alias_copy_callback
        - Src:             'link.c:1628,6'
          Dst:             hashtab_map
        - Src:             'link.c:1628,6'
          Dst:             role_bounds_copy_callback
        - Src:             'link.c:1632,6'
          Dst:             hashtab_map
        - Src:             'link.c:1632,6'
          Dst:             user_bounds_copy_callback
        - Src:             'link.c:1639,7'
          Dst:             hashtab_map
    - functionName:    type_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 775
      functionLinenumberEnd: 804
      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:792,9'
          Dst:             hashtab_search
    - functionName:    alias_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 880
      functionLinenumberEnd: 977
      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:904,16'
          Dst:             hashtab_search
        - Src:             'link.c:911,7'
          Dst:             strcmp
        - Src:             'link.c:919,14'
          Dst:             hashtab_search
        - Src:             'link.c:924,35'
          Dst:             calloc
        - Src:             'link.c:933,17'
          Dst:             strdup
        - Src:             'link.c:936,7'
          Dst:             hashtab_insert
        - Src:             'link.c:948,4'
          Dst:             __assert_fail
        - Src:             'link.c:949,4'
          Dst:             __assert_fail
        - Src:             'link.c:951,4'
          Dst:             __assert_fail
    - functionName:    role_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 808
      functionLinenumberEnd: 837
      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:825,9'
          Dst:             hashtab_search
    - functionName:    user_bounds_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 841
      functionLinenumberEnd: 870
      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:858,9'
          Dst:             hashtab_search
    - functionName:    role_fix_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1107
      functionLinenumberEnd: 1155
      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:1121,14'
          Dst:             hashtab_search
        - Src:             'link.c:1122,2'
          Dst:             __assert_fail
        - Src:             'link.c:1128,2'
          Dst:             ebitmap_init
        - Src:             'link.c:1129,6'
          Dst:             ebitmap_convert
        - Src:             'link.c:1131,6'
          Dst:             ebitmap_union
        - Src:             'link.c:1134,6'
          Dst:             type_set_or_convert
        - Src:             'link.c:1137,2'
          Dst:             ebitmap_destroy
        - Src:             'link.c:1140,3'
          Dst:             ebitmap_init
        - Src:             'link.c:1141,7'
          Dst:             ebitmap_convert
        - Src:             'link.c:1143,7'
          Dst:             ebitmap_union
        - Src:             'link.c:1146,3'
          Dst:             ebitmap_destroy
        - Src:             'link.c:1153,2'
          Dst:             ebitmap_destroy
    - functionName:    type_fix_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1159
      functionLinenumberEnd: 1199
      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:1179,13'
          Dst:             hashtab_search
        - Src:             'link.c:1180,2'
          Dst:             __assert_fail
        - Src:             'link.c:1186,2'
          Dst:             ebitmap_init
        - Src:             'link.c:1187,6'
          Dst:             ebitmap_convert
        - Src:             'link.c:1189,6'
          Dst:             ebitmap_union
        - Src:             'link.c:1192,2'
          Dst:             ebitmap_destroy
        - Src:             'link.c:1197,2'
          Dst:             ebitmap_destroy
    - functionName:    user_fix_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1203
      functionLinenumberEnd: 1240
      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:1217,13'
          Dst:             hashtab_search
        - Src:             'link.c:1218,2'
          Dst:             __assert_fail
        - Src:             'link.c:1224,6'
          Dst:             role_set_or_convert
        - Src:             'link.c:1228,6'
          Dst:             mls_range_convert
        - Src:             'link.c:1231,6'
          Dst:             mls_level_convert
    - functionName:    scope_copy_callback
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1820
      functionLinenumberEnd: 1907
      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:1832,15'
          Dst:             hashtab_search
        - Src:             'link.c:1835,17'
          Dst:             strdup
        - Src:             'link.c:1839,37'
          Dst:             calloc
        - Src:             'link.c:1844,9'
          Dst:             hashtab_insert
        - Src:             'link.c:1863,8'
          Dst:             add_i_to_a
        - Src:             'link.c:1877,8'
          Dst:             add_i_to_a
        - Src:             'link.c:1895,8'
          Dst:             add_i_to_a
    - functionName:    copy_avrule_block
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1756
      functionLinenumberEnd: 1816
      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:1757,30'
          Dst:             avrule_block_create
        - Src:             'link.c:1771,4'
          Dst:             avrule_decl_create
        - Src:             'link.c:1779,28'
          Dst:             strdup
        - Src:             'link.c:1782,5'
          Dst:             avrule_decl_destroy
        - Src:             'link.c:1794,9'
          Dst:             copy_avrule_decl
        - Src:             'link.c:1796,4'
          Dst:             avrule_decl_destroy
        - Src:             'link.c:1814,2'
          Dst:             avrule_block_list_destroy
    - functionName:    cond_normalize
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2278
      functionLinenumberEnd: 2293
      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:2286,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: 2190
      functionLinenumberEnd: 2270
      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:2230,9'
          Dst:             is_decl_requires_met
        - Src:             'link.c:2239,6'
          Dst:             print_missing_requirements
        - Src:             'link.c:2268,3'
          Dst:             debug_requirements
    - functionName:    copy_module
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1913
      functionLinenumberEnd: 1943
      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:1920,8'
          Dst:             copy_identifiers
        - Src:             'link.c:1927,9'
          Dst:             copy_avrule_block
        - Src:             'link.c:1936,7'
          Dst:             hashtab_map
        - Src:             'link.c:1936,7'
          Dst:             scope_copy_callback
    - functionName:    prepare_base
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2353
      functionLinenumberEnd: 2408
      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:2355,2'
          Dst:             __assert_fail
        - Src:             'link.c:2376,41'
          Dst:             calloc
        - Src:             'link.c:2383,28'
          Dst:             calloc
        - Src:             'link.c:2402,6'
          Dst:             cond_normalize
    - functionName:    prepare_module
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2297
      functionLinenumberEnd: 2350
      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:2305,37'
          Dst:             calloc
        - Src:             'link.c:2315,8'
          Dst:             calloc
        - Src:             'link.c:2319,26'
          Dst:             calloc
        - Src:             'link.c:2335,28'
          Dst:             calloc
        - Src:             'link.c:2343,6'
          Dst:             cond_normalize
    - functionName:    link_modules
      functionSourceFile: '/src/selinux/libsepol/src/link.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2417
      functionLinenumberEnd: 2513
      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:2436,37'
          Dst:             calloc
        - Src:             'link.c:2465,40'
          Dst:             calloc
        - Src:             'link.c:2471,7'
          Dst:             prepare_module
        - Src:             'link.c:2476,6'
          Dst:             prepare_base
        - Src:             'link.c:2483,9'
          Dst:             copy_module
        - Src:             'link.c:2491,6'
          Dst:             policydb_index_classes
        - Src:             'link.c:2495,6'
          Dst:             policydb_index_others
        - Src:             'link.c:2500,6'
          Dst:             enable_avrules
        - Src:             'link.c:2508,3'
          Dst:             policy_module_destroy
    - functionName:    mls_range_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 147
      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:145,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:146,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 93
      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: 150
      functionLinenumberEnd: 153
      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:151,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:152,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 102
      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:100,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:101,2'
          Dst:             mls_level_init
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 117
      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:115,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:116,2'
          Dst:             mls_context_init
    - functionName:    mls_range_glblub
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 79
      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:68,6'
          Dst:             ebitmap_and
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:73,6'
          Dst:             ebitmap_and
    - functionName:    mls_range_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 141
      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:128,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:131,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:137,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 88
      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:85,6'
          Dst:             ebitmap_cpy
    - functionName:    mls_semantic_range_cpy
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 790
      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:781,6'
          Dst:             mls_semantic_level_cpy
        - Src:             'mls.c:784,6'
          Dst:             mls_semantic_level_cpy
        - Src:             'mls.c:785,3'
          Dst:             mls_semantic_level_destroy
    - functionName:    mls_semantic_level_cpy
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 764
      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:738,2'
          Dst:             mls_semantic_level_init
        - Src:             'mls.c:747,3'
          Dst:             mls_semantic_cat_init
        - Src:             'mls.c:762,2'
          Dst:             mls_semantic_level_destroy
    - functionName:    mls_semantic_level_destroy
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 717
      functionLinenumberEnd: 730
      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:727,3'
          Dst:             mls_semantic_cat_destroy
    - functionName:    mls_semantic_cat_destroy
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 706
      functionLinenumberEnd: 708
      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: 712
      functionLinenumberEnd: 714
      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: 701
      functionLinenumberEnd: 703
      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: 773
      functionLinenumberEnd: 776
      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:774,2'
          Dst:             mls_semantic_level_destroy
        - Src:             'mls.c:775,2'
          Dst:             mls_semantic_level_destroy
    - functionName:    mls_semantic_range_init
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 767
      functionLinenumberEnd: 770
      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:768,2'
          Dst:             mls_semantic_level_init
        - Src:             'mls.c:769,2'
          Dst:             mls_semantic_level_init
    - functionName:    sepol_mls_check
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 698
      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:692,2'
          Dst:             context_init
        - Src:             'mls.c:694,8'
          Dst:             mls_from_string
        - Src:             'mls.c:695,2'
          Dst:             context_destroy
    - functionName:    context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 122
      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: 78
      functionLinenumberEnd: 99
      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:79,14'
          Dst:             strdup
        - Src:             'mls.c:84,6'
          Dst:             mls_context_to_sid
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 140
      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:139,2'
          Dst:             mls_context_destroy
    - functionName:    mls_context_to_sid
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 434
      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:345,31'
          Dst:             hashtab_search
        - Src:             'mls.c:364,19'
          Dst:             strchr
        - Src:             'mls.c:369,31'
          Dst:             hashtab_search
        - Src:             'mls.c:375,9'
          Dst:             ebitmap_set_bit
        - Src:             'mls.c:384,22'
          Dst:             hashtab_search
        - Src:             'mls.c:396,11'
          Dst:             ebitmap_set_bit
        - Src:             'mls.c:424,7'
          Dst:             mls_level_cpy
    - functionName:    sepol_mls_contains
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 645
      functionLinenumberEnd: 678
      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:653,2'
          Dst:             context_init
        - Src:             'mls.c:654,2'
          Dst:             context_init
        - Src:             'mls.c:656,6'
          Dst:             mls_from_string
        - Src:             'mls.c:659,6'
          Dst:             mls_from_string
        - Src:             'mls.c:662,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:662,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:663,2'
          Dst:             context_destroy
        - Src:             'mls.c:664,2'
          Dst:             context_destroy
        - Src:             'mls.c:670,2'
          Dst:             context_destroy
        - Src:             'mls.c:671,2'
          Dst:             context_destroy
    - functionName:    mls_level_dom
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 113
      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:113,36'
          Dst:             ebitmap_contains
    - functionName:    mls_scopy_context
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 461
      functionLinenumberEnd: 473
      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:467,8'
          Dst:             ebitmap_cpy
    - functionName:    mls_copy_context
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 453
      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:447,8'
          Dst:             ebitmap_cpy
    - functionName:    mls_context_glblub
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 100
      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:100,9'
          Dst:             mls_range_glblub
    - functionName:    mls_context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 52
      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:48,6'
          Dst:             mls_range_cpy
    - functionName:    mls_context_cpy_high
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 93
      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:84,7'
          Dst:             ebitmap_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:89,7'
          Dst:             ebitmap_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:91,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: 481
      functionLinenumberEnd: 493
      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:487,8'
          Dst:             ebitmap_cpy
    - functionName:    mls_compute_sid
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 641
      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:592,2'
          Branch Sides:    []
        - Branch String:   'mls.c:608,3'
          Branch Sides:    []
      Callsites:
        - Src:             'mls.c:598,7'
          Dst:             hashtab_search
        - Src:             'mls.c:600,11'
          Dst:             mls_range_set
        - Src:             'mls.c:610,11'
          Dst:             mls_context_cpy_low
        - Src:             'mls.c:612,11'
          Dst:             mls_context_cpy_high
        - Src:             'mls.c:614,11'
          Dst:             mls_context_cpy
        - Src:             'mls.c:616,11'
          Dst:             mls_context_cpy_low
        - Src:             'mls.c:618,11'
          Dst:             mls_context_cpy_high
        - Src:             'mls.c:620,11'
          Dst:             mls_context_cpy
        - Src:             'mls.c:622,11'
          Dst:             mls_context_glblub
        - Src:             'mls.c:630,11'
          Dst:             mls_copy_context
        - Src:             'mls.c:633,11'
          Dst:             mls_scopy_context
        - Src:             'mls.c:636,10'
          Dst:             mls_context_cpy_low
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 540
      functionLinenumberEnd: 577
      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:551,31'
          Dst:             hashtab_search
        - Src:             'mls.c:559,3'
          Dst:             ebitmap_init
        - Src:             'mls.c:560,3'
          Dst:             ebitmap_start
        - Src:             'mls.c:560,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'mls.c:564,30'
          Dst:             hashtab_search
        - Src:             'mls.c:568,9'
          Dst:             ebitmap_set_bit
        - Src:             'mls.c:560,3'
          Dst:             ebitmap_next
        - Src:             'mls.c:572,3'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 498
      functionLinenumberEnd: 532
      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:509,7'
          Dst:             mls_level_dom
        - Src:             'mls.c:509,7'
          Dst:             mls_level_dom
        - Src:             'mls.c:511,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:511,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:513,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:513,14'
          Dst:             mls_level_dom
        - Src:             'mls.c:523,7'
          Dst:             mls_level_dom
        - Src:             'mls.c:525,14'
          Dst:             mls_level_dom
    - functionName:    mls_context_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 307
      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:263,7'
          Dst:             mls_level_dom
        - Src:             'mls.c:277,21'
          Dst:             hashtab_search
        - Src:             'mls.c:281,3'
          Dst:             ebitmap_start
        - Src:             'mls.c:281,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'mls.c:285,9'
          Dst:             ebitmap_get_bit
        - Src:             'mls.c:281,3'
          Dst:             ebitmap_next
        - Src:             'mls.c:303,20'
          Dst:             mls_level_dom
        - Src:             'mls.c:303,20'
          Dst:             mls_level_dom
    - functionName:    mls_level_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 107
      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:107,36'
          Dst:             ebitmap_cmp
    - functionName:    mls_sid_to_context
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 241
      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:177,3'
          Dst:             strcpy
        - Src:             'mls.c:180,16'
          Dst:             strlen
        - Src:             'mls.c:183,3'
          Dst:             ebitmap_start
        - Src:             'mls.c:184,8'
          Dst:             ebitmap_node_get_bit
        - Src:             'mls.c:195,5'
          Dst:             strcpy
        - Src:             'mls.c:198,6'
          Dst:             strlen
        - Src:             'mls.c:207,6'
          Dst:             strcpy
        - Src:             'mls.c:210,19'
          Dst:             strlen
        - Src:             'mls.c:183,3'
          Dst:             ebitmap_next
        - Src:             'mls.c:224,4'
          Dst:             strcpy
        - Src:             'mls.c:225,17'
          Dst:             strlen
        - Src:             'mls.c:229,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: 107
      functionLinenumberEnd: 152
      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:117,10'
          Dst:             strlen
        - Src:             'mls.c:120,3'
          Dst:             ebitmap_start
        - Src:             'mls.c:121,8'
          Dst:             ebitmap_node_get_bit
        - Src:             'mls.c:127,12'
          Dst:             strlen
        - Src:             'mls.c:132,13'
          Dst:             strlen
        - Src:             'mls.c:120,3'
          Dst:             ebitmap_next
        - Src:             'mls.c:140,11'
          Dst:             strlen
        - Src:             'mls.c:143,8'
          Dst:             mls_level_eq
    - functionName:    mls_to_string
      functionSourceFile: '/src/selinux/libsepol/src/mls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          141
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - mls_compute_context_len
        - mls_sid_to_context
        - strcpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mls.c:48,12'
          Dst:             mls_compute_context_len
        - Src:             'mls.c:60,2'
          Dst:             mls_sid_to_context
        - Src:             'mls.c:62,2'
          Dst:             strcpy
    - functionName:    context_string_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3497
      functionLinenumberEnd: 3532
      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:3505,12'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3512,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3515,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3516,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3517,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3519,3'
          Dst:             level_range_string_to_cil
        - Src:             'module_to_cil.c:3522,2'
          Dst:             cil_printf
    - functionName:    cil_printf
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 94
      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:89,6'
          Dst:             vfprintf
        - Src:             'module_to_cil.c:91,3'
          Dst:             _exit
    - functionName:    level_range_string_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3475
      functionLinenumberEnd: 3493
      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:3480,11'
          Dst:             strchr
        - Src:             'module_to_cil.c:3489,2'
          Dst:             level_string_to_cil
        - Src:             'module_to_cil.c:3490,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3491,2'
          Dst:             level_string_to_cil
    - functionName:    level_string_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3431
      functionLinenumberEnd: 3471
      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:3440,12'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3447,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3450,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3451,11'
          Dst:             strtok_r
        - Src:             'module_to_cil.c:3453,13'
          Dst:             strchr
        - Src:             'module_to_cil.c:3455,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3458,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3460,12'
          Dst:             strtok_r
        - Src:             'module_to_cil.c:3462,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3465,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: 114
      functionLinenumberEnd: 151
      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:121,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:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 4034
      functionLinenumberEnd: 4077
      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:4044,2'
          Dst:             ebitmap_init
        - Src:             'module_to_cil.c:4050,3'
          Dst:             ebitmap_and
        - Src:             'module_to_cil.c:4051,8'
          Dst:             ebitmap_cmp
        - Src:             'module_to_cil.c:4054,3'
          Dst:             ebitmap_destroy
        - Src:             'module_to_cil.c:4065,3'
          Dst:             ebitmap_and
        - Src:             'module_to_cil.c:4066,8'
          Dst:             ebitmap_cmp
        - Src:             'module_to_cil.c:4069,3'
          Dst:             ebitmap_destroy
        - Src:             'module_to_cil.c:4076,2'
          Dst:             ebitmap_destroy
    - functionName:    module_block_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4171
      functionLinenumberEnd: 4215
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          178
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - block_to_cil
        - cil_println
        - is_scope_superset
        - stack_peek
        - stack_pop
        - stack_push
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:4188,15'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:4189,8'
          Dst:             is_scope_superset
        - Src:             'module_to_cil.c:4194,4'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:4196,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:4199,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:4204,7'
          Dst:             stack_push
        - Src:             'module_to_cil.c:4209,7'
          Dst:             block_to_cil
    - functionName:    stack_peek
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 484
      functionLinenumberEnd: 490
      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: 474
      functionLinenumberEnd: 481
      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: 98
      functionLinenumberEnd: 111
      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:100,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:102,6'
          Dst:             vfprintf
        - Src:             'module_to_cil.c:104,3'
          Dst:             _exit
        - Src:             'module_to_cil.c:107,6'
          Dst:             fprintf
        - Src:             'module_to_cil.c:109,3'
          Dst:             _exit
    - functionName:    stack_push
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 445
      functionLinenumberEnd: 470
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          161
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - reallocarray
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:455,15'
          Dst:             reallocarray
    - functionName:    block_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4082
      functionLinenumberEnd: 4166
      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:4090,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:4094,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:4099,7'
          Dst:             typealiases_to_cil
        - Src:             'module_to_cil.c:4104,7'
          Dst:             declared_scopes_to_cil
        - Src:             'module_to_cil.c:4109,7'
          Dst:             required_scopes_to_cil
        - Src:             'module_to_cil.c:4114,7'
          Dst:             additive_scopes_to_cil
        - Src:             'module_to_cil.c:4119,7'
          Dst:             avrule_list_to_cil
        - Src:             'module_to_cil.c:4124,7'
          Dst:             role_trans_to_cil
        - Src:             'module_to_cil.c:4130,7'
          Dst:             role_allows_to_cil
        - Src:             'module_to_cil.c:4136,7'
          Dst:             range_trans_to_cil
        - Src:             'module_to_cil.c:4142,7'
          Dst:             filename_trans_to_cil
        - Src:             'module_to_cil.c:4148,7'
          Dst:             cond_list_to_cil
        - Src:             'module_to_cil.c:4153,7'
          Dst:             cil_print_attr_list
        - Src:             'module_to_cil.c:4157,7'
          Dst:             cil_print_attr_list
        - Src:             'module_to_cil.c:4163,2'
          Dst:             attr_list_destroy
        - Src:             'module_to_cil.c:4164,2'
          Dst:             attr_list_destroy
    - functionName:    list_init
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 261
      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:254,19'
          Dst:             calloc
    - functionName:    typealiases_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3811
      functionLinenumberEnd: 3854
      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:3816,29'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:3831,17'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3845,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3846,3'
          Dst:             cil_println
    - functionName:    declared_scopes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3859
      functionLinenumberEnd: 3920
      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:3868,29'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:3876,3'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:3876,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:3878,12'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3883,12'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3876,3'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:3896,9'
          Dst:             cat_order_to_cil
        - Src:             'module_to_cil.c:3903,9'
          Dst:             sens_order_to_cil
        - Src:             'module_to_cil.c:3910,9'
          Dst:             class_order_to_cil
    - functionName:    required_scopes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3925
      functionLinenumberEnd: 3984
      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:3934,29'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:3943,3'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:3943,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:3947,5'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3968,12'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:3943,3'
          Dst:             ebitmap_next
    - functionName:    additive_scopes_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4007
      functionLinenumberEnd: 4031
      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:4009,29'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:4020,8'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:4020,8'
          Dst:             additive_scopes_to_cil_map
    - functionName:    avrule_list_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1251
      functionLinenumberEnd: 1366
      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:1262,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1267,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1291,9'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1301,11'
          Dst:             avrulex_to_cil
        - Src:             'module_to_cil.c:1306,11'
          Dst:             avrule_to_cil
        - Src:             'module_to_cil.c:1318,11'
          Dst:             avrulex_to_cil
        - Src:             'module_to_cil.c:1324,11'
          Dst:             avrule_to_cil
        - Src:             'module_to_cil.c:1334,11'
          Dst:             avrulex_to_cil
        - Src:             'module_to_cil.c:1339,11'
          Dst:             avrule_to_cil
        - Src:             'module_to_cil.c:1350,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1351,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1355,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1362,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1363,2'
          Dst:             names_destroy
    - functionName:    role_trans_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1574
      functionLinenumberEnd: 1627
      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:1590,8'
          Dst:             process_roleset
        - Src:             'module_to_cil.c:1597,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1605,5'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:1605,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:1607,6'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1605,5'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:1619,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1620,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1624,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1625,2'
          Dst:             names_destroy
    - functionName:    role_allows_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1633
      functionLinenumberEnd: 1674
      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:1645,8'
          Dst:             process_roleset
        - Src:             'module_to_cil.c:1651,8'
          Dst:             process_roleset
        - Src:             'module_to_cil.c:1659,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1664,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1665,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:    range_trans_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1680
      functionLinenumberEnd: 1751
      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:1699,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1705,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1712,5'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:1712,5'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:1714,6'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:1715,6'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1719,6'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1721,11'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:1727,6'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1729,11'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:1735,6'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1712,5'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:1740,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1741,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1747,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1748,2'
          Dst:             names_destroy
    - functionName:    filename_trans_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1756
      functionLinenumberEnd: 1814
      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:1769,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1775,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1782,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1793,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1805,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1806,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1811,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1812,2'
          Dst:             names_destroy
    - functionName:    cond_list_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1530
      functionLinenumberEnd: 1567
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          150
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - avrule_list_to_cil
        - cil_println
        - cond_expr_to_cil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:1538,8'
          Dst:             cond_expr_to_cil
        - Src:             'module_to_cil.c:1544,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1545,9'
          Dst:             avrule_list_to_cil
        - Src:             'module_to_cil.c:1550,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1554,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1555,9'
          Dst:             avrule_list_to_cil
        - Src:             'module_to_cil.c:1560,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1563,3'
          Dst:             cil_println
    - functionName:    cil_print_attr_list
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 947
      functionLinenumberEnd: 962
      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:954,8'
          Dst:             cil_print_attr_strs
    - functionName:    attr_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 250
      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:249,2'
          Dst:             list_destroy
    - functionName:    list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 207
      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: 859
      functionLinenumberEnd: 942
      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:898,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:899,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:900,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:903,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:907,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:911,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:915,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:916,3'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:916,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:917,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:916,3'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:919,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:923,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:925,3'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:925,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:926,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:925,3'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:929,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:933,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:937,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:940,2'
          Dst:             cil_printf
    - functionName:    cil_indent
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 82
      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:78,6'
          Dst:             fprintf
        - Src:             'module_to_cil.c:80,3'
          Dst:             _exit
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 1370
      functionLinenumberEnd: 1525
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         101
      ICount:          699
      EdgeCount:       127
      CyclomaticComplexity: 28
      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:1413,4'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:1386,7'
          Dst:             stack_init
        - Src:             'module_to_cil.c:1398,10'
          Dst:             strlen
        - Src:             'module_to_cil.c:1405,11'
          Dst:             snprintf
        - Src:             'module_to_cil.c:1440,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1441,12'
          Dst:             strdup
        - Src:             'module_to_cil.c:1449,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1450,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1465,10'
          Dst:             strlen
        - Src:             'module_to_cil.c:1465,25'
          Dst:             strlen
        - Src:             'module_to_cil.c:1465,40'
          Dst:             strlen
        - Src:             'module_to_cil.c:1474,11'
          Dst:             snprintf
        - Src:             'module_to_cil.c:1489,8'
          Dst:             stack_push
        - Src:             'module_to_cil.c:1502,9'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1503,22'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:1509,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1520,18'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:1523,3'
          Dst:             stack_destroy
    - functionName:    stack_init
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 420
      functionLinenumberEnd: 442
      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:422,20'
          Dst:             calloc
        - Src:             'module_to_cil.c:427,13'
          Dst:             calloc
        - Src:             'module_to_cil.c:440,2'
          Dst:             stack_destroy
    - functionName:    stack_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 417
      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: 1117
      functionLinenumberEnd: 1137
      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:1124,8'
          Dst:             set_to_names
        - Src:             'module_to_cil.c:1129,8'
          Dst:             ebitmap_to_names
    - functionName:    names_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1141
      functionLinenumberEnd: 1145
      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: 1006
      functionLinenumberEnd: 1039
      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:1013,14'
          Dst:             search_attr_list
        - Src:             'module_to_cil.c:1016,15'
          Dst:             get_new_attr_name
        - Src:             'module_to_cil.c:1022,8'
          Dst:             cil_add_attr_to_list
    - functionName:    ebitmap_to_names
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1044
      functionLinenumberEnd: 1084
      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:1052,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:1052,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:1052,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:1067,13'
          Dst:             calloc
        - Src:             'module_to_cil.c:1075,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:1075,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:1075,2'
          Dst:             ebitmap_next
    - functionName:    search_attr_list
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 965
      functionLinenumberEnd: 1001
      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:985,8'
          Dst:             ebitmap_cmp
        - Src:             'module_to_cil.c:987,8'
          Dst:             ebitmap_cmp
        - Src:             'module_to_cil.c:994,8'
          Dst:             ebitmap_cmp
    - functionName:    get_new_attr_name
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 795
      functionLinenumberEnd: 825
      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:809,8'
          Dst:             strlen
        - Src:             'module_to_cil.c:809,28'
          Dst:             strlen
        - Src:             'module_to_cil.c:809,44'
          Dst:             num_digits
        - Src:             'module_to_cil.c:816,9'
          Dst:             snprintf
    - functionName:    cil_add_attr_to_list
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 855
      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:834,19'
          Dst:             calloc
        - Src:             'module_to_cil.c:841,7'
          Dst:             list_prepend
    - functionName:    list_prepend
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 278
      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:266,27'
          Dst:             calloc
    - functionName:    num_digits
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 772
      functionLinenumberEnd: 778
      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: 540
      functionLinenumberEnd: 573
      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:546,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:549,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:554,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:556,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:562,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:567,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:570,2'
          Dst:             cil_printf
    - functionName:    process_roleset
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1090
      functionLinenumberEnd: 1111
      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:1097,8'
          Dst:             set_to_names
        - Src:             'module_to_cil.c:1103,8'
          Dst:             ebitmap_to_names
    - functionName:    avrulex_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 769
      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:726,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:758,3'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:759,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:761,3'
          Dst:             xperms_to_cil
        - Src:             'module_to_cil.c:762,3'
          Dst:             cil_printf
    - functionName:    avrule_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 578
      functionLinenumberEnd: 650
      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:584,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:618,12'
          Dst:             sepol_av_to_string
        - Src:             'module_to_cil.c:633,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:639,4'
          Dst:             cil_println
    - functionName:    xperms_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 714
      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:684,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:693,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:697,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:703,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:707,5'
          Dst:             cil_printf
    - functionName:    additive_scopes_to_cil_map
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3987
      functionLinenumberEnd: 4002
      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: 2274
      functionLinenumberEnd: 2412
      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:2309,3'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:2326,3'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:2343,3'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:2360,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:2286,14'
          Dst:             calloc
        - Src:             'module_to_cil.c:2290,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:2290,7'
          Dst:             class_perm_to_array
        - Src:             'module_to_cil.c:2295,2'
          Dst:             qsort
        - Src:             'module_to_cil.c:2295,2'
          Dst:             class_perm_cmp
        - Src:             'module_to_cil.c:2297,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2298,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2300,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2302,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2305,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2322,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2339,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2356,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2388,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2392,8'
          Dst:             constraints_to_cil
        - Src:             'module_to_cil.c:2400,8'
          Dst:             constraints_to_cil
    - functionName:    role_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2440
      functionLinenumberEnd: 2542
      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:2466,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:2451,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:2462,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2469,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2472,7'
          Dst:             ebitmap_cardinality
        - Src:             'module_to_cil.c:2478,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:2484,8'
          Dst:             is_id_in_scope
        - Src:             'module_to_cil.c:2486,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2492,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2499,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2503,4'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2504,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2505,4'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2505,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2506,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2505,4'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2508,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2512,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:2518,8'
          Dst:             is_id_in_scope
        - Src:             'module_to_cil.c:2520,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2533,7'
          Dst:             cil_print_attr_list
        - Src:             'module_to_cil.c:2539,2'
          Dst:             attr_list_destroy
        - Src:             'module_to_cil.c:2540,2'
          Dst:             names_destroy
    - functionName:    type_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2549
      functionLinenumberEnd: 2626
      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:2568,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:2559,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2563,7'
          Dst:             roletype_role_in_ancestor_to_cil
        - Src:             'module_to_cil.c:2571,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2574,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2579,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2583,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2587,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2594,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2598,4'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2599,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2601,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2603,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2605,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2609,4'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2610,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2611,4'
          Dst:             ebitmap_to_cil
        - Src:             'module_to_cil.c:2612,4'
          Dst:             cil_printf
    - functionName:    user_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2633
      functionLinenumberEnd: 2683
      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:2647,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2652,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2655,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2657,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2657,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2658,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2657,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2662,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2663,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2665,3'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:2667,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2669,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2671,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2672,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2674,3'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:2675,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2676,3'
          Dst:             semantic_level_to_cil
        - Src:             'module_to_cil.c:2678,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2680,2'
          Dst:             cil_printf
    - functionName:    boolean_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2689
      functionLinenumberEnd: 2704
      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:2700,3'
          Dst:             cil_println
    - functionName:    sens_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2711
      functionLinenumberEnd: 2736
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          115
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - cil_indent
        - cil_printf
        - cil_println
        - ebitmap_to_cil
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2719,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2721,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2722,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2729,3'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2730,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2731,3'
          Dst:             ebitmap_to_cil
        - Src:             'module_to_cil.c:2732,3'
          Dst:             cil_printf
    - functionName:    cat_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2767
      functionLinenumberEnd: 2786
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          87
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - cil_println
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2778,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2780,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2781,3'
          Dst:             cil_println
    - functionName:    ebitmap_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 782
      functionLinenumberEnd: 791
      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:787,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:787,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:788,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:787,2'
          Dst:             ebitmap_next
    - functionName:    roletype_role_in_ancestor_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1150
      functionLinenumberEnd: 1192
      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:1159,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:1166,8'
          Dst:             is_id_in_ancestor_scope
        - Src:             'module_to_cil.c:1172,8'
          Dst:             process_typeset
        - Src:             'module_to_cil.c:1177,9'
          Dst:             strcmp
        - Src:             'module_to_cil.c:1178,5'
          Dst:             cil_println
        - Src:             'module_to_cil.c:1182,3'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:1185,7'
          Dst:             cil_print_attr_list
        - Src:             'module_to_cil.c:1191,2'
          Dst:             attr_list_destroy
    - functionName:    is_id_in_ancestor_scope
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 526
      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:525,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: 495
      functionLinenumberEnd: 517
      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:501,10'
          Dst:             hashtab_search
    - functionName:    is_id_in_scope
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 531
      functionLinenumberEnd: 535
      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:534,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: 1828
      functionLinenumberEnd: 1835
      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: 1839
      functionLinenumberEnd: 1843
      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: 2210
      functionLinenumberEnd: 2267
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          262
      EdgeCount:       47
      CyclomaticComplexity: 12
      functionsReached:
        - cil_println
        - constraint_expr_to_string
        - sepol_av_to_string
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2219,8'
          Dst:             constraint_expr_to_string
        - Src:             'module_to_cil.c:2236,12'
          Dst:             sepol_av_to_string
        - Src:             'module_to_cil.c:2251,4'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2255,4'
          Dst:             cil_println
    - functionName:    constraint_expr_to_string
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1881
      functionLinenumberEnd: 2203
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         183
      ICount:          1209
      EdgeCount:       227
      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:1910,4'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:1934,4'
          Branch Sides:    []
        - Branch String:   'module_to_cil.c:2099,4'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:1902,7'
          Dst:             stack_init
        - Src:             'module_to_cil.c:2009,11'
          Dst:             strlen
        - Src:             'module_to_cil.c:2009,24'
          Dst:             strlen
        - Src:             'module_to_cil.c:2010,11'
          Dst:             strlen
        - Src:             'module_to_cil.c:2017,12'
          Dst:             snprintf
        - Src:             'module_to_cil.c:2028,11'
          Dst:             ebitmap_to_names
        - Src:             'module_to_cil.c:2036,11'
          Dst:             ebitmap_to_names
        - Src:             'module_to_cil.c:2044,11'
          Dst:             ebitmap_to_names
        - Src:             'module_to_cil.c:2053,14'
          Dst:             strdup
        - Src:             'module_to_cil.c:2059,11'
          Dst:             name_list_to_string
        - Src:             'module_to_cil.c:2067,11'
          Dst:             strlen
        - Src:             'module_to_cil.c:2067,24'
          Dst:             strlen
        - Src:             'module_to_cil.c:2068,11'
          Dst:             strlen
        - Src:             'module_to_cil.c:2079,13'
          Dst:             snprintf
        - Src:             'module_to_cil.c:2083,13'
          Dst:             snprintf
        - Src:             'module_to_cil.c:2094,5'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:2120,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:2121,12'
          Dst:             strdup
        - Src:             'module_to_cil.c:2129,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:2130,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:2145,10'
          Dst:             strlen
        - Src:             'module_to_cil.c:2145,25'
          Dst:             strlen
        - Src:             'module_to_cil.c:2145,40'
          Dst:             strlen
        - Src:             'module_to_cil.c:2154,11'
          Dst:             snprintf
        - Src:             'module_to_cil.c:2169,8'
          Dst:             stack_push
        - Src:             'module_to_cil.c:2177,12'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:2178,25'
          Dst:             stack_peek
        - Src:             'module_to_cil.c:2190,2'
          Dst:             names_destroy
        - Src:             'module_to_cil.c:2197,18'
          Dst:             stack_pop
        - Src:             'module_to_cil.c:2200,3'
          Dst:             stack_destroy
    - functionName:    name_list_to_string
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1197
      functionLinenumberEnd: 1246
      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:1206,35'
          Dst:             strlen
        - Src:             'module_to_cil.c:1234,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: 2790
      functionLinenumberEnd: 2815
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          111
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - cil_indent
        - cil_printf
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2803,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2804,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2806,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2806,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2807,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2806,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2810,2'
          Dst:             cil_printf
    - functionName:    sens_order_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2740
      functionLinenumberEnd: 2761
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - cil_indent
        - cil_printf
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:2751,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2752,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2754,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2754,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2755,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2754,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2758,2'
          Dst:             cil_printf
    - functionName:    class_order_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2416
      functionLinenumberEnd: 2434
      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:2424,2'
          Dst:             cil_indent
        - Src:             'module_to_cil.c:2425,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2427,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2427,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2428,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2427,2'
          Dst:             ebitmap_next
        - Src:             'module_to_cil.c:2431,2'
          Dst:             cil_printf
    - functionName:    common_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1847
      functionLinenumberEnd: 1875
      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:1854,14'
          Dst:             calloc
        - Src:             'module_to_cil.c:1858,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:1858,7'
          Dst:             class_perm_to_array
        - Src:             'module_to_cil.c:1863,2'
          Dst:             qsort
        - Src:             'module_to_cil.c:1863,2'
          Dst:             class_perm_cmp
        - Src:             'module_to_cil.c:1865,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1867,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:1869,2'
          Dst:             cil_printf
    - functionName:    linked_block_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4294
      functionLinenumberEnd: 4324
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          91
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - block_to_cil
        - stack_pop
        - stack_push
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:4311,7'
          Dst:             stack_push
        - Src:             'module_to_cil.c:4316,7'
          Dst:             block_to_cil
        - Src:             'module_to_cil.c:4321,2'
          Dst:             stack_pop
    - functionName:    global_block_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4220
      functionLinenumberEnd: 4253
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          125
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - block_to_cil
        - common_to_cil
        - hashtab_map
        - stack_push
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:4234,7'
          Dst:             stack_push
        - Src:             'module_to_cil.c:4242,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:4242,7'
          Dst:             common_to_cil
        - Src:             'module_to_cil.c:4247,7'
          Dst:             block_to_cil
    - functionName:    level_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2844
      functionLinenumberEnd: 2861
      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:2850,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2853,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2854,3'
          Dst:             ebitmap_to_cil
        - Src:             'module_to_cil.c:2855,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2858,2'
          Dst:             cil_printf
    - functionName:    context_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2864
      functionLinenumberEnd: 2881
      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:2865,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2870,3'
          Dst:             level_to_cil
        - Src:             'module_to_cil.c:2871,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2872,3'
          Dst:             level_to_cil
        - Src:             'module_to_cil.c:2874,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2875,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2876,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2879,2'
          Dst:             cil_printf
    - functionName:    ocontext_isid_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2887
      functionLinenumberEnd: 2953
      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:2895,9'
          Dst:             isids_to_strs
        - Src:             'module_to_cil.c:2901,6'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2902,3'
          Dst:             strs_destroy
        - Src:             'module_to_cil.c:2906,18'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2907,9'
          Dst:             strs_read_at_index
        - Src:             'module_to_cil.c:2908,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2911,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2913,18'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2914,9'
          Dst:             strs_read_at_index
        - Src:             'module_to_cil.c:2916,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2921,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2923,2'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2925,22'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2925,15'
          Dst:             calloc
        - Src:             'module_to_cil.c:2928,3'
          Dst:             strs_free_all
        - Src:             'module_to_cil.c:2929,3'
          Dst:             strs_destroy
        - Src:             'module_to_cil.c:2934,11'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2938,18'
          Dst:             strs_num_items
        - Src:             'module_to_cil.c:2940,10'
          Dst:             strs_read_at_index
        - Src:             'module_to_cil.c:2941,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2943,4'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:2944,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:2949,2'
          Dst:             strs_free_all
        - Src:             'module_to_cil.c:2950,2'
          Dst:             strs_destroy
    - functionName:    ocontext_xen_pcidevice_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3295
      functionLinenumberEnd: 3305
      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:3299,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3301,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3302,3'
          Dst:             cil_printf
    - functionName:    ocontext_xen_iomem_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3269
      functionLinenumberEnd: 3290
      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:3279,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3281,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3285,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3287,3'
          Dst:             cil_printf
    - functionName:    ocontext_xen_ioport_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3244
      functionLinenumberEnd: 3264
      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:3254,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3256,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3259,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3261,3'
          Dst:             cil_printf
    - functionName:    ocontext_xen_pirq_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3230
      functionLinenumberEnd: 3239
      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:3234,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3235,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3236,3'
          Dst:             cil_printf
    - functionName:    ocontext_xen_isid_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3214
      functionLinenumberEnd: 3226
      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:3217,7'
          Dst:             ocontext_isid_to_cil
    - functionName:    ocontext_selinux_ibendport_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3160
      functionLinenumberEnd: 3172
      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:3164,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3167,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3169,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_ibpkey_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3034
      functionLinenumberEnd: 3069
      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:3049,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:3057,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3059,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3062,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3064,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_node6_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3125
      functionLinenumberEnd: 3156
      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:3132,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:3139,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:3146,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3148,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3150,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_fsuse_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3177
      functionLinenumberEnd: 3210
      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:3183,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:3200,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3202,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3204,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_node_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3090
      functionLinenumberEnd: 3121
      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:3097,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:3104,7'
          Dst:             inet_ntop
        - Src:             'module_to_cil.c:3111,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3113,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3115,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_netif_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3073
      functionLinenumberEnd: 3085
      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:3077,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3078,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3080,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3081,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3082,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_port_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2985
      functionLinenumberEnd: 3030
      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:2993,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:3017,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3019,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3022,3'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3024,3'
          Dst:             cil_printf
    - functionName:    ocontext_selinux_fs_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2974
      functionLinenumberEnd: 2980
      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: 2957
      functionLinenumberEnd: 2970
      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:2960,7'
          Dst:             ocontext_isid_to_cil
    - functionName:    typealiases_gather_map
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 357
      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:330,11'
          Dst:             hashtab_search
        - Src:             'module_to_cil.c:339,10'
          Dst:             list_init
        - Src:             'module_to_cil.c:349,4'
          Dst:             list_prepend
    - functionName:    roles_gather_map
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 299
      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:287,14'
          Dst:             calloc
        - Src:             'module_to_cil.c:295,7'
          Dst:             list_prepend
    - functionName:    fp_to_buffer
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4606
      functionLinenumberEnd: 4654
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          273
      EdgeCount:       49
      CyclomaticComplexity: 12
      functionsReached:
        - ferror
        - fread
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:4622,21'
          Dst:             fread
        - Src:             'module_to_cil.c:4630,12'
          Dst:             realloc
        - Src:             'module_to_cil.c:4640,6'
          Dst:             ferror
    - functionName:    sepol_ppfile_to_module_package
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4658
      functionLinenumberEnd: 4716
      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:4667,7'
          Dst:             sepol_policy_file_create
        - Src:             'module_to_cil.c:4673,7'
          Dst:             fileno
        - Src:             'module_to_cil.c:4674,6'
          Dst:             fstat64
        - Src:             'module_to_cil.c:4683,8'
          Dst:             fp_to_buffer
        - Src:             'module_to_cil.c:4688,3'
          Dst:             sepol_policy_file_set_mem
        - Src:             'module_to_cil.c:4690,3'
          Dst:             sepol_policy_file_set_fp
        - Src:             'module_to_cil.c:4693,7'
          Dst:             sepol_module_package_create
        - Src:             'module_to_cil.c:4699,7'
          Dst:             sepol_module_package_read
        - Src:             'module_to_cil.c:4710,2'
          Dst:             sepol_policy_file_free
        - Src:             'module_to_cil.c:4713,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: 3702
      functionLinenumberEnd: 3797
      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:3704,13'
          Dst:             sepol_module_package_get_file_contexts
        - Src:             'module_to_cil.c:3705,18'
          Dst:             sepol_module_package_get_file_contexts_len
        - Src:             'module_to_cil.c:3720,15'
          Dst:             get_line
        - Src:             'module_to_cil.c:3722,10'
          Dst:             __ctype_b_loc
        - Src:             'module_to_cil.c:3732,13'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3746,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3748,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3750,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3752,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3754,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3756,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3758,15'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3767,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3769,8'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3770,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3772,4'
          Dst:             context_string_to_cil
        - Src:             'module_to_cil.c:3775,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3785,3'
          Dst:             cil_printf
    - functionName:    user_extra_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3626
      functionLinenumberEnd: 3699
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          292
      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:3628,16'
          Dst:             sepol_module_package_get_user_extra
        - Src:             'module_to_cil.c:3629,21'
          Dst:             sepol_module_package_get_user_extra_len
        - Src:             'module_to_cil.c:3646,15'
          Dst:             get_line
        - Src:             'module_to_cil.c:3648,10'
          Dst:             __ctype_b_loc
        - Src:             'module_to_cil.c:3658,13'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3666,16'
          Dst:             strlen
        - Src:             'module_to_cil.c:3668,22'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3669,7'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3676,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:3686,3'
          Dst:             cil_printf
    - functionName:    netfilter_contexts_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3613
      functionLinenumberEnd: 3622
      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:3615,3'
          Dst:             sepol_module_package_get_netfilter_contexts_len
    - functionName:    seusers_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3536
      functionLinenumberEnd: 3610
      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:3579,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:3538,18'
          Dst:             sepol_module_package_get_seusers
        - Src:             'module_to_cil.c:3539,23'
          Dst:             sepol_module_package_get_seusers_len
        - Src:             'module_to_cil.c:3553,15'
          Dst:             get_line
        - Src:             'module_to_cil.c:3555,10'
          Dst:             __ctype_b_loc
        - Src:             'module_to_cil.c:3565,13'
          Dst:             tokenize
        - Src:             'module_to_cil.c:3573,8'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3574,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3576,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3581,4'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3584,4'
          Dst:             level_range_string_to_cil
        - Src:             'module_to_cil.c:3588,3'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3598,3'
          Dst:             cil_printf
    - functionName:    sepol_module_package_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4561
      functionLinenumberEnd: 4602
      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:4567,8'
          Dst:             sepol_module_package_get_policy
        - Src:             'module_to_cil.c:4574,7'
          Dst:             sepol_module_policydb_to_cil
        - Src:             'module_to_cil.c:4579,7'
          Dst:             seusers_to_cil
        - Src:             'module_to_cil.c:4584,7'
          Dst:             netfilter_contexts_to_cil
        - Src:             'module_to_cil.c:4589,7'
          Dst:             user_extra_to_cil
        - Src:             'module_to_cil.c:4594,7'
          Dst:             file_contexts_to_cil
    - functionName:    sepol_module_policydb_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4456
      functionLinenumberEnd: 4557
      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:4473,7'
          Dst:             fix_module_name
        - Src:             'module_to_cil.c:4483,8'
          Dst:             generate_default_level
        - Src:             'module_to_cil.c:4492,8'
          Dst:             generate_default_object
        - Src:             'module_to_cil.c:4498,8'
          Dst:             generate_gen_require_attribute
        - Src:             'module_to_cil.c:4504,8'
          Dst:             handle_unknown_to_cil
        - Src:             'module_to_cil.c:4510,8'
          Dst:             generate_mls
        - Src:             'module_to_cil.c:4516,7'
          Dst:             role_list_create
        - Src:             'module_to_cil.c:4521,7'
          Dst:             typealias_list_create
        - Src:             'module_to_cil.c:4526,7'
          Dst:             polcaps_to_cil
        - Src:             'module_to_cil.c:4531,7'
          Dst:             ocontexts_to_cil
        - Src:             'module_to_cil.c:4536,7'
          Dst:             genfscon_to_cil
        - Src:             'module_to_cil.c:4543,8'
          Dst:             linked_blocks_to_cil
        - Src:             'module_to_cil.c:4545,8'
          Dst:             blocks_to_cil
        - Src:             'module_to_cil.c:4554,2'
          Dst:             role_list_destroy
        - Src:             'module_to_cil.c:4555,2'
          Dst:             typealias_list_destroy
    - functionName:    fix_module_name
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4422
      functionLinenumberEnd: 4453
      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:4432,15'
          Dst:             strdup
        - Src:             'module_to_cil.c:4443,7'
          Dst:             __ctype_b_loc
    - functionName:    generate_default_level
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4398
      functionLinenumberEnd: 4403
      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:4399,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:4400,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:4401,2'
          Dst:             cil_println
    - functionName:    generate_default_object
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4407
      functionLinenumberEnd: 4410
      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:4408,2'
          Dst:             cil_println
    - functionName:    generate_gen_require_attribute
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4414
      functionLinenumberEnd: 4418
      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:4415,2'
          Dst:             cil_println
        - Src:             'module_to_cil.c:4416,2'
          Dst:             cil_println
    - functionName:    handle_unknown_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4360
      functionLinenumberEnd: 4387
      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:4364,2'
          Branch Sides:    []
      Callsites:
        - Src:             'module_to_cil.c:4381,2'
          Dst:             cil_println
    - functionName:    generate_mls
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4390
      functionLinenumberEnd: 4394
      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:4392,2'
          Dst:             cil_println
    - functionName:    role_list_create
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 313
      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:305,7'
          Dst:             list_init
        - Src:             'module_to_cil.c:310,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:310,7'
          Dst:             roles_gather_map
    - functionName:    typealias_list_create
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          114
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - hashtab_map
        - typealias_list_destroy
        - typealiases_gather_map
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module_to_cil.c:388,20'
          Dst:             calloc
        - Src:             'module_to_cil.c:393,7'
          Dst:             hashtab_map
        - Src:             'module_to_cil.c:393,7'
          Dst:             typealiases_gather_map
        - Src:             'module_to_cil.c:401,2'
          Dst:             typealias_list_destroy
    - functionName:    polcaps_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2818
      functionLinenumberEnd: 2841
      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:2827,2'
          Dst:             ebitmap_start
        - Src:             'module_to_cil.c:2827,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'module_to_cil.c:2828,10'
          Dst:             sepol_polcap_getname
        - Src:             'module_to_cil.c:2835,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:2827,2'
          Dst:             ebitmap_next
    - functionName:    ocontexts_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3309
      functionLinenumberEnd: 3363
      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:3338,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    genfscon_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3366
      functionLinenumberEnd: 3428
      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:3371,17'
          Dst:             ebitmap_get_bit
        - Src:             'module_to_cil.c:3379,15'
          Dst:             strlen
        - Src:             'module_to_cil.c:3393,9'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3395,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3397,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3400,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3403,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3406,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3409,16'
          Dst:             strcmp
        - Src:             'module_to_cil.c:3415,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3419,5'
          Dst:             cil_printf
        - Src:             'module_to_cil.c:3422,4'
          Dst:             context_to_cil
        - Src:             'module_to_cil.c:3423,4'
          Dst:             cil_printf
    - functionName:    linked_blocks_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4328
      functionLinenumberEnd: 4356
      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:4335,7'
          Dst:             stack_init
        - Src:             'module_to_cil.c:4341,7'
          Dst:             global_block_to_cil
        - Src:             'module_to_cil.c:4347,8'
          Dst:             linked_block_to_cil
        - Src:             'module_to_cil.c:4354,2'
          Dst:             stack_destroy
    - functionName:    blocks_to_cil
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4257
      functionLinenumberEnd: 4289
      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:4263,7'
          Dst:             stack_init
        - Src:             'module_to_cil.c:4269,7'
          Dst:             global_block_to_cil
        - Src:             'module_to_cil.c:4275,8'
          Dst:             module_block_to_cil
        - Src:             'module_to_cil.c:4283,3'
          Dst:             cil_println
        - Src:             'module_to_cil.c:4287,2'
          Dst:             stack_destroy
    - functionName:    role_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 225
      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:224,2'
          Dst:             list_destroy
    - functionName:    typealias_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/module_to_cil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 370
      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:364,4'
          Dst:             list_destroy
    - functionName:    type_vec_contains
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 92
      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: 250
      functionLinenumberEnd: 251
      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: 265
      functionLinenumberEnd: 299
      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:290,8'
          Dst:             type_vec_contains
        - Src:             'optimize.c:292,8'
          Dst:             type_vec_contains
        - Src:             'optimize.c:295,7'
          Dst:             process_avtab_datum
    - functionName:    process_avtab_datum
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 202
      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:183,12'
          Dst:             process_xperms
        - Src:             'optimize.c:192,12'
          Dst:             process_xperms
        - Src:             'optimize.c:197,11'
          Dst:             process_xperms
    - functionName:    process_xperms
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 162
      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: 255
      functionLinenumberEnd: 259
      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:259,9'
          Dst:             is_type_attr
        - Src:             'optimize.c:259,35'
          Dst:             is_type_attr
    - functionName:    optimize_cond_av_list
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 380
      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:343,7'
          Dst:             is_avrule_with_attr
        - Src:             'optimize.c:367,7'
          Dst:             is_avrule_redundant
        - Src:             'optimize.c:369,7'
          Dst:             is_cond_rule_redundant
    - functionName:    is_avrule_redundant
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 247
      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:238,9'
          Dst:             avtab_search
        - Src:             'optimize.c:242,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: 59
      functionLinenumberEnd: 66
      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: 74
      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:64,4'
          Dst:             reallocarray
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 74
      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: 48
      functionLinenumberEnd: 50
      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: 145
      functionLinenumberEnd: 150
      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:148,3'
          Dst:             type_vec_destroy
    - functionName:    optimize_cond_avtab
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 447
      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:393,3'
          Dst:             optimize_cond_av_list
        - Src:             'optimize.c:394,3'
          Dst:             optimize_cond_av_list
        - Src:             'optimize.c:402,4'
          Dst:             cond_node_destroy
    - functionName:    optimize_avtab
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 326
      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:310,8'
          Dst:             is_avrule_redundant
    - functionName:    build_type_map
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 142
      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:99,25'
          Dst:             calloc
        - Src:             'optimize.c:104,7'
          Dst:             type_vec_init
        - Src:             'optimize.c:111,4'
          Dst:             ebitmap_start
        - Src:             'optimize.c:111,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'optimize.c:113,9'
          Dst:             type_vec_append
        - Src:             'optimize.c:111,4'
          Dst:             ebitmap_next
        - Src:             'optimize.c:129,9'
          Dst:             ebitmap_contains
        - Src:             'optimize.c:130,10'
          Dst:             type_vec_append
        - Src:             'optimize.c:139,3'
          Dst:             type_vec_destroy
    - functionName:    remove_junk_permissions
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          96
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policydb_optimize
      functionSourceFile: '/src/selinux/libsepol/src/optimize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - avtab_map
        - build_type_map
        - destroy_type_map
        - optimize_avtab
        - optimize_cond_avtab
        - remove_junk_permissions
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'optimize.c:482,2'
          Dst:             avtab_map
        - Src:             'optimize.c:482,2'
          Dst:             remove_junk_permissions
        - Src:             'optimize.c:483,2'
          Dst:             avtab_map
        - Src:             'optimize.c:483,2'
          Dst:             remove_junk_permissions
        - Src:             'optimize.c:485,13'
          Dst:             build_type_map
        - Src:             'optimize.c:489,2'
          Dst:             optimize_avtab
        - Src:             'optimize.c:490,2'
          Dst:             optimize_cond_avtab
        - Src:             'optimize.c:492,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: 1932
      functionLinenumberEnd: 1959
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          257
      EdgeCount:       51
      CyclomaticComplexity: 13
      functionsReached:
        - context_destroy
        - mls_read_range_helper
        - next_entry
        - policydb_context_isvalid
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:1936,7'
          Dst:             next_entry
        - Src:             'policydb.c:1946,7'
          Dst:             mls_read_range_helper
        - Src:             'policydb.c:1953,7'
          Dst:             policydb_context_isvalid
        - Src:             'policydb.c:1955,3'
          Dst:             context_destroy
    - functionName:    mls_read_range_helper
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1763
      functionLinenumberEnd: 1812
      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:1767,7'
          Dst:             next_entry
        - Src:             'policydb.c:1777,7'
          Dst:             next_entry
        - Src:             'policydb.c:1788,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1794,8'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1800,8'
          Dst:             ebitmap_cpy
        - Src:             'policydb.c:1811,2'
          Dst:             ebitmap_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 140
      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:139,2'
          Dst:             mls_context_destroy
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 117
      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:115,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:116,2'
          Dst:             mls_context_init
    - functionName:    mls_range_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 153
      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:151,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:152,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: 144
      functionLinenumberEnd: 147
      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:145,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:146,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 93
      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: 96
      functionLinenumberEnd: 102
      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:100,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:101,2'
          Dst:             mls_level_init
    - functionName:    ocontext_read_xen
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2720
      functionLinenumberEnd: 2828
      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:2742,4'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:2728,8'
          Dst:             next_entry
        - Src:             'policydb.c:2734,8'
          Dst:             calloc
        - Src:             'policydb.c:2744,10'
          Dst:             next_entry
        - Src:             'policydb.c:2750,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2755,10'
          Dst:             next_entry
        - Src:             'policydb.c:2759,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2764,10'
          Dst:             next_entry
        - Src:             'policydb.c:2769,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2777,11'
          Dst:             next_entry
        - Src:             'policydb.c:2786,11'
          Dst:             next_entry
        - Src:             'policydb.c:2795,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2800,10'
          Dst:             next_entry
        - Src:             'policydb.c:2804,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2809,10'
          Dst:             next_entry
        - Src:             'policydb.c:2813,10'
          Dst:             str_read
        - Src:             'policydb.c:2816,9'
          Dst:             context_read_and_validate
    - functionName:    ocontext_read_selinux
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2831
      functionLinenumberEnd: 3000
      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:2855,4'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:2839,8'
          Dst:             next_entry
        - Src:             'policydb.c:2845,8'
          Dst:             calloc
        - Src:             'policydb.c:2857,10'
          Dst:             next_entry
        - Src:             'policydb.c:2863,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2869,10'
          Dst:             next_entry
        - Src:             'policydb.c:2876,10'
          Dst:             str_read
        - Src:             'policydb.c:2880,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2883,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2890,10'
          Dst:             next_entry
        - Src:             'policydb.c:2909,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2917,10'
          Dst:             next_entry
        - Src:             'policydb.c:2928,10'
          Dst:             str_read
        - Src:             'policydb.c:2934,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2940,10'
          Dst:             next_entry
        - Src:             'policydb.c:2946,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2951,10'
          Dst:             next_entry
        - Src:             'policydb.c:2956,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2961,10'
          Dst:             next_entry
        - Src:             'policydb.c:2967,10'
          Dst:             str_read
        - Src:             'policydb.c:2971,9'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:2978,10'
          Dst:             next_entry
        - Src:             'policydb.c:2987,9'
          Dst:             context_read_and_validate
    - functionName:    scope_index_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3726
      functionLinenumberEnd: 3759
      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:3732,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:3736,7'
          Dst:             next_entry
        - Src:             'policydb.c:3741,6'
          Dst:             exceeds_available_bytes
        - Src:             'policydb.c:3749,8'
          Dst:             calloc
        - Src:             'policydb.c:3754,7'
          Dst:             ebitmap_read
    - functionName:    exceeds_available_bytes
      functionSourceFile: '/src/selinux/libsepol/src/./private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 65
      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: 3684
      functionLinenumberEnd: 3722
      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:3690,7'
          Dst:             next_entry
        - Src:             'policydb.c:3699,3'
          Dst:             range_trans_rule_init
        - Src:             'policydb.c:3706,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3709,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3712,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:3715,7'
          Dst:             mls_read_semantic_range_helper
    - functionName:    range_trans_rule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 630
      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:625,2'
          Dst:             type_set_init
        - Src:             'policydb.c:626,2'
          Dst:             type_set_init
        - Src:             'policydb.c:627,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:628,2'
          Dst:             mls_semantic_range_init
    - functionName:    type_set_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1741
      functionLinenumberEnd: 1756
      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:1745,6'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1747,6'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1750,7'
          Dst:             next_entry
    - functionName:    mls_read_semantic_range_helper
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1869
      functionLinenumberEnd: 1879
      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:1872,7'
          Dst:             mls_read_semantic_level_helper
        - Src:             'policydb.c:1876,7'
          Dst:             mls_read_semantic_level_helper
    - functionName:    mls_read_semantic_level_helper
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1821
      functionLinenumberEnd: 1861
      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:1827,2'
          Dst:             mls_semantic_level_init
        - Src:             'policydb.c:1829,7'
          Dst:             next_entry
        - Src:             'policydb.c:1844,3'
          Dst:             mls_semantic_cat_init
        - Src:             'policydb.c:1848,8'
          Dst:             next_entry
    - functionName:    type_set_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 409
      functionLinenumberEnd: 413
      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:411,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:412,2'
          Dst:             ebitmap_init
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 3626
      functionLinenumberEnd: 3681
      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:3632,7'
          Dst:             next_entry
        - Src:             'policydb.c:3642,3'
          Dst:             filename_trans_rule_init
        - Src:             'policydb.c:3650,8'
          Dst:             next_entry
        - Src:             'policydb.c:3656,8'
          Dst:             str_read
        - Src:             'policydb.c:3660,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3663,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3671,8'
          Dst:             next_entry
    - functionName:    filename_trans_rule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 578
      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:576,2'
          Dst:             type_set_init
        - Src:             'policydb.c:577,2'
          Dst:             type_set_init
    - functionName:    role_allow_rule_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3589
      functionLinenumberEnd: 3622
      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:3595,7'
          Dst:             next_entry
        - Src:             'policydb.c:3605,3'
          Dst:             role_allow_rule_init
        - Src:             'policydb.c:3613,7'
          Dst:             role_set_read
        - Src:             'policydb.c:3616,7'
          Dst:             role_set_read
    - functionName:    role_allow_rule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 601
      functionLinenumberEnd: 605
      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:603,2'
          Dst:             role_set_init
        - Src:             'policydb.c:604,2'
          Dst:             role_set_init
    - functionName:    role_set_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1726
      functionLinenumberEnd: 1738
      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:1730,6'
          Dst:             ebitmap_read
        - Src:             'policydb.c:1732,7'
          Dst:             next_entry
    - functionName:    role_set_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 427
      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:426,2'
          Dst:             ebitmap_init
    - functionName:    role_trans_rule_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3537
      functionLinenumberEnd: 3586
      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:3543,7'
          Dst:             next_entry
        - Src:             'policydb.c:3553,3'
          Dst:             role_trans_rule_init
        - Src:             'policydb.c:3561,7'
          Dst:             role_set_read
        - Src:             'policydb.c:3564,7'
          Dst:             type_set_read
        - Src:             'policydb.c:3568,8'
          Dst:             ebitmap_read
        - Src:             'policydb.c:3573,8'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:3578,8'
          Dst:             next_entry
    - functionName:    role_trans_rule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 552
      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:549,2'
          Dst:             role_set_init
        - Src:             'policydb.c:550,2'
          Dst:             type_set_init
        - Src:             'policydb.c:551,2'
          Dst:             ebitmap_init
    - functionName:    avrule_decl_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3763
      functionLinenumberEnd: 3808
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          259
      EdgeCount:       56
      CyclomaticComplexity: 17
      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:3768,7'
          Dst:             next_entry
        - Src:             'policydb.c:3773,6'
          Dst:             cond_read_list
        - Src:             'policydb.c:3774,6'
          Dst:             avrule_read_list
        - Src:             'policydb.c:3775,6'
          Dst:             role_trans_rule_read
        - Src:             'policydb.c:3776,6'
          Dst:             role_allow_rule_read
        - Src:             'policydb.c:3781,6'
          Dst:             filename_trans_rule_read
        - Src:             'policydb.c:3784,6'
          Dst:             range_trans_rule_read
        - Src:             'policydb.c:3787,6'
          Dst:             scope_index_read
        - Src:             'policydb.c:3788,6'
          Dst:             scope_index_read
        - Src:             'policydb.c:3793,8'
          Dst:             next_entry
    - functionName:    avrule_read_list
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3504
      functionLinenumberEnd: 3533
      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:3512,7'
          Dst:             next_entry
        - Src:             'policydb.c:3519,9'
          Dst:             avrule_read
    - functionName:    common_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2003
      functionLinenumberEnd: 2047
      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:2011,13'
          Dst:             calloc
        - Src:             'policydb.c:2015,7'
          Dst:             next_entry
        - Src:             'policydb.c:2020,7'
          Dst:             str_read
        - Src:             'policydb.c:2026,6'
          Dst:             symtab_init
        - Src:             'policydb.c:2034,7'
          Dst:             perm_read
        - Src:             'policydb.c:2039,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2045,2'
          Dst:             common_destroy
    - functionName:    class_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2146
      functionLinenumberEnd: 2243
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         78
      ICount:          502
      EdgeCount:       107
      CyclomaticComplexity: 31
      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:2154,30'
          Dst:             calloc
        - Src:             'policydb.c:2158,7'
          Dst:             next_entry
        - Src:             'policydb.c:2163,7'
          Dst:             str_read
        - Src:             'policydb.c:2172,6'
          Dst:             symtab_init
        - Src:             'policydb.c:2182,8'
          Dst:             str_read
        - Src:             'policydb.c:2187,4'
          Dst:             hashtab_search
        - Src:             'policydb.c:2194,7'
          Dst:             perm_read
        - Src:             'policydb.c:2199,6'
          Dst:             read_cons_helper
        - Src:             'policydb.c:2205,8'
          Dst:             next_entry
        - Src:             'policydb.c:2209,7'
          Dst:             read_cons_helper
        - Src:             'policydb.c:2217,8'
          Dst:             next_entry
        - Src:             'policydb.c:2229,8'
          Dst:             next_entry
        - Src:             'policydb.c:2235,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2241,2'
          Dst:             class_destroy
    - functionName:    role_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2246
      functionLinenumberEnd: 2311
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          277
      EdgeCount:       59
      CyclomaticComplexity: 18
      functionsReached:
        - calloc
        - ebitmap_read
        - hashtab_insert
        - next_entry
        - role_destroy
        - str_read
        - strcmp
        - type_set_read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2253,9'
          Dst:             calloc
        - Src:             'policydb.c:2257,7'
          Dst:             next_entry
        - Src:             'policydb.c:2262,7'
          Dst:             str_read
        - Src:             'policydb.c:2269,6'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2273,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2276,7'
          Dst:             type_set_read
        - Src:             'policydb.c:2282,8'
          Dst:             next_entry
        - Src:             'policydb.c:2288,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2292,6'
          Dst:             strcmp
        - Src:             'policydb.c:2296,4'
          Dst:             role_destroy
        - Src:             'policydb.c:2299,3'
          Dst:             role_destroy
        - Src:             'policydb.c:2303,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2309,2'
          Dst:             role_destroy
    - functionName:    type_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2314
      functionLinenumberEnd: 2380
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          301
      EdgeCount:       61
      CyclomaticComplexity: 18
      functionsReached:
        - calloc
        - ebitmap_read
        - hashtab_insert
        - next_entry
        - str_read
        - type_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb.c:2322,13'
          Dst:             calloc
        - Src:             'policydb.c:2331,7'
          Dst:             next_entry
        - Src:             'policydb.c:2364,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2368,7'
          Dst:             str_read
        - Src:             'policydb.c:2372,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2378,2'
          Dst:             type_destroy
    - functionName:    user_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3156
      functionLinenumberEnd: 3215
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          225
      EdgeCount:       53
      CyclomaticComplexity: 17
      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:3163,13'
          Dst:             calloc
        - Src:             'policydb.c:3167,7'
          Dst:             next_entry
        - Src:             'policydb.c:3172,7'
          Dst:             str_read
        - Src:             'policydb.c:3180,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:3183,7'
          Dst:             role_set_read
        - Src:             'policydb.c:3188,7'
          Dst:             mls_read_range_helper
        - Src:             'policydb.c:3190,7'
          Dst:             mls_read_level
        - Src:             'policydb.c:3193,8'
          Dst:             mls_range_to_semantic
        - Src:             'policydb.c:3196,8'
          Dst:             mls_level_to_semantic
        - Src:             'policydb.c:3201,7'
          Dst:             mls_read_semantic_range_helper
        - Src:             'policydb.c:3203,7'
          Dst:             mls_read_semantic_level_helper
        - Src:             'policydb.c:3207,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:3213,2'
          Dst:             user_destroy
    - functionName:    sens_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3219
      functionLinenumberEnd: 3253
      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:3228,2'
          Dst:             level_datum_init
        - Src:             'policydb.c:3230,7'
          Dst:             next_entry
        - Src:             'policydb.c:3235,7'
          Dst:             str_read
        - Src:             'policydb.c:3242,26'
          Dst:             mls_read_level
        - Src:             'policydb.c:3245,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:3251,2'
          Dst:             sens_destroy
    - functionName:    cat_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3257
      functionLinenumberEnd: 3288
      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:3266,2'
          Dst:             cat_datum_init
        - Src:             'policydb.c:3268,7'
          Dst:             next_entry
        - Src:             'policydb.c:3273,7'
          Dst:             str_read
        - Src:             'policydb.c:3280,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:3286,2'
          Dst:             cat_destroy
    - functionName:    cat_datum_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 504
      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: 1313
      functionLinenumberEnd: 1318
      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:1316,2'
          Dst:             cat_datum_destroy
    - functionName:    cat_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 509
      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: 490
      functionLinenumberEnd: 492
      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: 3132
      functionLinenumberEnd: 3153
      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:3136,2'
          Dst:             mls_level_init
        - Src:             'policydb.c:3138,7'
          Dst:             next_entry
        - Src:             'policydb.c:3145,6'
          Dst:             ebitmap_read
    - functionName:    sens_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1296
      functionLinenumberEnd: 1308
      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:1303,3'
          Dst:             mls_level_destroy
        - Src:             'policydb.c:1306,2'
          Dst:             level_datum_destroy
    - functionName:    level_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 495
      functionLinenumberEnd: 498
      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: 1916
      functionLinenumberEnd: 1924
      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:1917,6'
          Dst:             mls_level_to_semantic
        - Src:             'policydb.c:1920,6'
          Dst:             mls_level_to_semantic
    - functionName:    mls_level_to_semantic
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1882
      functionLinenumberEnd: 1913
      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:1887,2'
          Dst:             mls_semantic_level_init
        - Src:             'policydb.c:1889,2'
          Dst:             ebitmap_start
        - Src:             'policydb.c:1890,7'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb.c:1898,4'
          Dst:             mls_semantic_cat_init
        - Src:             'policydb.c:1889,2'
          Dst:             ebitmap_next
    - functionName:    user_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1287
      functionLinenumberEnd: 1291
      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:1289,2'
          Dst:             user_datum_destroy
    - functionName:    user_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 487
      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:480,3'
          Dst:             role_set_destroy
        - Src:             'policydb.c:481,3'
          Dst:             mls_semantic_range_destroy
        - Src:             'policydb.c:482,3'
          Dst:             mls_semantic_level_destroy
        - Src:             'policydb.c:483,3'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:484,3'
          Dst:             mls_range_destroy
        - Src:             'policydb.c:485,3'
          Dst:             mls_level_destroy
    - functionName:    role_set_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 432
      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:431,2'
          Dst:             ebitmap_destroy
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 1278
      functionLinenumberEnd: 1282
      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:1280,2'
          Dst:             type_datum_destroy
    - functionName:    type_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 460
      functionLinenumberEnd: 464
      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:462,3'
          Dst:             ebitmap_destroy
    - functionName:    role_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1269
      functionLinenumberEnd: 1273
      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:1271,2'
          Dst:             role_datum_destroy
    - functionName:    role_datum_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 451
      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:446,3'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:447,3'
          Dst:             type_set_destroy
        - Src:             'policydb.c:448,3'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:449,3'
          Dst:             ebitmap_destroy
    - functionName:    type_set_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 421
      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:418,3'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:419,3'
          Dst:             ebitmap_destroy
    - functionName:    perm_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1969
      functionLinenumberEnd: 2000
      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:1976,13'
          Dst:             calloc
        - Src:             'policydb.c:1980,7'
          Dst:             next_entry
        - Src:             'policydb.c:1985,6'
          Dst:             str_read
        - Src:             'policydb.c:1989,7'
          Dst:             value_isvalid
        - Src:             'policydb.c:1992,6'
          Dst:             hashtab_insert
        - Src:             'policydb.c:1998,2'
          Dst:             perm_destroy
    - functionName:    read_cons_helper
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2052
      functionLinenumberEnd: 2143
      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:2099,4'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:2062,7'
          Dst:             calloc
        - Src:             'policydb.c:2071,8'
          Dst:             next_entry
        - Src:             'policydb.c:2082,8'
          Dst:             constraint_expr_init
        - Src:             'policydb.c:2092,9'
          Dst:             next_entry
        - Src:             'policydb.c:2121,9'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2124,9'
          Dst:             type_set_read
        - Src:             'policydb.c:2129,7'
          Dst:             type_set_read
    - functionName:    class_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1233
      functionLinenumberEnd: 1265
      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:1243,8'
          Dst:             hashtab_map
        - Src:             'policydb.c:1243,8'
          Dst:             perm_destroy
        - Src:             'policydb.c:1244,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:1247,3'
          Dst:             constraint_expr_destroy
        - Src:             'policydb.c:1255,3'
          Dst:             constraint_expr_destroy
    - functionName:    perm_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1210
      functionLinenumberEnd: 1214
      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: 1219
      functionLinenumberEnd: 1228
      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:1225,8'
          Dst:             hashtab_map
        - Src:             'policydb.c:1225,8'
          Dst:             perm_destroy
        - Src:             'policydb.c:1226,2'
          Dst:             hashtab_destroy
    - functionName:    avrule_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3299
      functionLinenumberEnd: 3406
      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:3310,2'
          Dst:             avrule_init
        - Src:             'policydb.c:3312,7'
          Dst:             next_entry
        - Src:             'policydb.c:3319,6'
          Dst:             type_set_read
        - Src:             'policydb.c:3322,6'
          Dst:             type_set_read
        - Src:             'policydb.c:3325,7'
          Dst:             next_entry
        - Src:             'policydb.c:3334,3'
          Dst:             class_perm_node_init
        - Src:             'policydb.c:3336,8'
          Dst:             next_entry
        - Src:             'policydb.c:3374,20'
          Dst:             calloc
        - Src:             'policydb.c:3378,8'
          Dst:             next_entry
        - Src:             'policydb.c:3384,8'
          Dst:             next_entry
        - Src:             'policydb.c:3390,8'
          Dst:             next_entry
        - Src:             'policydb.c:3402,3'
          Dst:             avrule_destroy
    - functionName:    avrule_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 522
      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:520,2'
          Dst:             type_set_init
        - Src:             'policydb.c:521,2'
          Dst:             type_set_init
    - functionName:    class_perm_node_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 515
      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: 525
      functionLinenumberEnd: 544
      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:531,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:532,2'
          Dst:             type_set_destroy
    - functionName:    filename_trans_check_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2579
      functionLinenumberEnd: 2605
      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:2583,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:2584,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:2587,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb.c:2590,7'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:2593,7'
          Dst:             ebitmap_match_any
        - Src:             'policydb.c:2596,7'
          Dst:             ebitmap_union
        - Src:             'policydb.c:2603,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:2604,2'
          Dst:             ebitmap_destroy
    - functionName:    filename_trans_read_one
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2609
      functionLinenumberEnd: 2689
      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:2617,7'
          Dst:             next_entry
        - Src:             'policydb.c:2622,7'
          Dst:             str_read
        - Src:             'policydb.c:2626,7'
          Dst:             next_entry
        - Src:             'policydb.c:2646,8'
          Dst:             ebitmap_read
        - Src:             'policydb.c:2650,8'
          Dst:             next_entry
        - Src:             'policydb.c:2656,30'
          Dst:             ebitmap_cardinality
        - Src:             'policydb.c:2661,20'
          Dst:             filename_trans_check_datum
        - Src:             'policydb.c:2672,7'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2685,3'
          Dst:             ebitmap_destroy
    - functionName:    filename_trans_read_one_compat
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2533
      functionLinenumberEnd: 2576
      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:2538,7'
          Dst:             next_entry
        - Src:             'policydb.c:2543,7'
          Dst:             str_read
        - Src:             'policydb.c:2547,7'
          Dst:             next_entry
        - Src:             'policydb.c:2559,7'
          Dst:             policydb_filetrans_insert
    - functionName:    policydb_filetrans_insert
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2461
      functionLinenumberEnd: 2530
      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:2470,10'
          Dst:             hashtab_search
        - Src:             'policydb.c:2472,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb.c:2487,3'
          Dst:             ebitmap_init
        - Src:             'policydb.c:2500,16'
          Dst:             strdup
        - Src:             'policydb.c:2518,8'
          Dst:             hashtab_insert
        - Src:             'policydb.c:2529,9'
          Dst:             ebitmap_set_bit
    - functionName:    cat_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1016
      functionLinenumberEnd: 1032
      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:1024,8'
          Dst:             value_isvalid
    - functionName:    sens_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 997
      functionLinenumberEnd: 1013
      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:1005,8'
          Dst:             value_isvalid
    - functionName:    user_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 979
      functionLinenumberEnd: 994
      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:986,7'
          Dst:             value_isvalid
    - functionName:    type_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 976
      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:965,7'
          Dst:             value_isvalid
    - functionName:    role_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 941
      functionLinenumberEnd: 955
      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:947,7'
          Dst:             value_isvalid
    - functionName:    partial_name_hash
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 710
      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: 4389
      functionLinenumberEnd: 4390
      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:4390,9'
          Dst:             sort_ocontexts
    - functionName:    policy_file_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4372
      functionLinenumberEnd: 4374
      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: 4343
      functionLinenumberEnd: 4369
      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:4351,43'
          Dst:             calloc
        - Src:             'policydb.c:4357,12'
          Dst:             calloc
        - Src:             'policydb.c:4361,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:4365,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:4365,6'
          Dst:             policydb_user_cache
    - functionName:    policydb_user_cache
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 864
      functionLinenumberEnd: 895
      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:871,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:872,6'
          Dst:             role_set_expand
        - Src:             'policydb.c:881,3'
          Dst:             mls_range_destroy
        - Src:             'policydb.c:882,7'
          Dst:             mls_semantic_range_expand
        - Src:             'policydb.c:887,3'
          Dst:             mls_level_destroy
        - Src:             'policydb.c:888,7'
          Dst:             mls_semantic_level_expand
    - functionName:    common_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 908
      functionLinenumberEnd: 921
      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:914,7'
          Dst:             value_isvalid
    - functionName:    class_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 938
      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:930,7'
          Dst:             value_isvalid
    - functionName:    range_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3409
      functionLinenumberEnd: 3501
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         53
      ICount:          363
      EdgeCount:       74
      CyclomaticComplexity: 23
      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:3418,7'
          Dst:             next_entry
        - Src:             'policydb.c:3423,8'
          Dst:             calloc
        - Src:             'policydb.c:3426,8'
          Dst:             next_entry
        - Src:             'policydb.c:3430,8'
          Dst:             value_isvalid
        - Src:             'policydb.c:3433,8'
          Dst:             value_isvalid
        - Src:             'policydb.c:3436,9'
          Dst:             next_entry
        - Src:             'policydb.c:3442,8'
          Dst:             value_isvalid
        - Src:             'policydb.c:3444,7'
          Dst:             calloc
        - Src:             'policydb.c:3447,7'
          Dst:             mls_read_range_helper
        - Src:             'policydb.c:3451,9'
          Dst:             hashtab_insert
        - Src:             'policydb.c:3463,3'
          Dst:             range_trans_rule_init
        - Src:             'policydb.c:3465,7'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:3468,7'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:3471,7'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:3474,7'
          Dst:             mls_range_to_semantic
        - Src:             'policydb.c:3493,3'
          Dst:             mls_range_destroy
        - Src:             'policydb.c:3497,3'
          Dst:             range_trans_rule_destroy
    - functionName:    range_trans_rule_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 638
      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:634,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:635,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:636,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:637,2'
          Dst:             mls_semantic_range_destroy
    - functionName:    genfs_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3020
      functionLinenumberEnd: 3125
      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:3028,7'
          Dst:             next_entry
        - Src:             'policydb.c:3034,8'
          Dst:             next_entry
        - Src:             'policydb.c:3038,14'
          Dst:             calloc
        - Src:             'policydb.c:3042,8'
          Dst:             str_read
        - Src:             'policydb.c:3051,8'
          Dst:             strcmp
        - Src:             'policydb.c:3058,8'
          Dst:             strcmp
        - Src:             'policydb.c:3066,8'
          Dst:             next_entry
        - Src:             'policydb.c:3071,11'
          Dst:             calloc
        - Src:             'policydb.c:3075,9'
          Dst:             next_entry
        - Src:             'policydb.c:3079,9'
          Dst:             str_read
        - Src:             'policydb.c:3083,9'
          Dst:             next_entry
        - Src:             'policydb.c:3087,8'
          Dst:             context_read_and_validate
        - Src:             'policydb.c:3091,10'
          Dst:             strcmp
        - Src:             'policydb.c:3100,11'
          Dst:             strlen
        - Src:             'policydb.c:3101,12'
          Dst:             strlen
        - Src:             'policydb.c:3119,3'
          Dst:             context_destroy
        - Src:             'policydb.c:3120,3'
          Dst:             context_destroy
    - functionName:    ocontext_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3004
      functionLinenumberEnd: 3016
      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:3006,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:3008,8'
          Dst:             ocontext_read_selinux
        - Src:             'policydb.c:3011,8'
          Dst:             ocontext_read_xen
    - functionName:    policydb_string_to_av_perm
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3968
      functionLinenumberEnd: 3991
      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:3976,31'
          Dst:             hashtab_search
        - Src:             'policydb.c:3984,31'
          Dst:             hashtab_search
    - functionName:    policydb_index_decls
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1088
      functionLinenumberEnd: 1128
      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:1104,3'
          Dst:             calloc
        - Src:             'policydb.c:1113,9'
          Dst:             value_isvalid
    - functionName:    scope_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3888
      functionLinenumberEnd: 3951
      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:3897,7'
          Dst:             next_entry
        - Src:             'policydb.c:3902,7'
          Dst:             str_read
        - Src:             'policydb.c:3907,6'
          Dst:             hashtab_search
        - Src:             'policydb.c:3911,15'
          Dst:             calloc
        - Src:             'policydb.c:3914,7'
          Dst:             next_entry
        - Src:             'policydb.c:3920,6'
          Dst:             exceeds_available_bytes
        - Src:             'policydb.c:3925,25'
          Dst:             calloc
        - Src:             'policydb.c:3929,7'
          Dst:             next_entry
        - Src:             'policydb.c:3937,6'
          Dst:             strcmp
        - Src:             'policydb.c:3939,3'
          Dst:             scope_destroy
        - Src:             'policydb.c:3941,7'
          Dst:             hashtab_insert
        - Src:             'policydb.c:3949,2'
          Dst:             scope_destroy
    - functionName:    scope_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1515
      functionLinenumberEnd: 1522
      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: 3813
      functionLinenumberEnd: 3885
      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:3818,2'
          Dst:             __assert_fail
        - Src:             'policydb.c:3820,7'
          Dst:             next_entry
        - Src:             'policydb.c:3828,19'
          Dst:             calloc
        - Src:             'policydb.c:3831,8'
          Dst:             next_entry
        - Src:             'policydb.c:3842,19'
          Dst:             avrule_decl_create
        - Src:             'policydb.c:3843,5'
          Dst:             avrule_block_destroy
        - Src:             'policydb.c:3846,8'
          Dst:             avrule_decl_read
        - Src:             'policydb.c:3848,5'
          Dst:             avrule_decl_destroy
        - Src:             'policydb.c:3849,5'
          Dst:             avrule_block_destroy
        - Src:             'policydb.c:3855,6'
          Dst:             avrule_decl_destroy
        - Src:             'policydb.c:3856,6'
          Dst:             avrule_block_destroy
        - Src:             'policydb.c:3866,5'
          Dst:             __assert_fail
        - Src:             'policydb.c:3876,4'
          Dst:             __assert_fail
    - functionName:    filename_trans_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2692
      functionLinenumberEnd: 2716
      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:2697,7'
          Dst:             next_entry
        - Src:             'policydb.c:2704,9'
          Dst:             filename_trans_read_one_compat
        - Src:             'policydb.c:2710,9'
          Dst:             filename_trans_read_one
    - functionName:    role_allow_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2426
      functionLinenumberEnd: 2455
      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:2432,7'
          Dst:             next_entry
        - Src:             'policydb.c:2438,8'
          Dst:             calloc
        - Src:             'policydb.c:2447,8'
          Dst:             next_entry
    - functionName:    role_trans_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2383
      functionLinenumberEnd: 2423
      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:2392,7'
          Dst:             next_entry
        - Src:             'policydb.c:2398,8'
          Dst:             calloc
        - Src:             'policydb.c:2407,8'
          Dst:             next_entry
        - Src:             'policydb.c:2414,9'
          Dst:             next_entry
    - functionName:    policydb_string_to_security_class
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3956
      functionLinenumberEnd: 3963
      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:3959,17'
          Dst:             hashtab_search
    - functionName:    policydb_set_target_platform
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4377
      functionLinenumberEnd: 4386
      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: 3998
      functionLinenumberEnd: 4340
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         340
      ICount:          2046
      EdgeCount:       450
      CyclomaticComplexity: 112
      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:4207,2'
          Branch Sides:    []
        - Branch String:   'policydb.c:4262,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb.c:4009,7'
          Dst:             next_entry
        - Src:             'policydb.c:4034,7'
          Dst:             next_entry
        - Src:             'policydb.c:4043,9'
          Dst:             strcmp
        - Src:             'policydb.c:4045,5'
          Dst:             policydb_set_target_platform
        - Src:             'policydb.c:4058,7'
          Dst:             strcmp
        - Src:             'policydb.c:4071,7'
          Dst:             next_entry
        - Src:             'policydb.c:4114,3'
          Dst:             __assert_fail
        - Src:             'policydb.c:4132,9'
          Dst:             policydb_lookup_compat
        - Src:             'policydb.c:4154,13'
          Dst:             next_entry
        - Src:             'policydb.c:4158,8'
          Dst:             str_read
        - Src:             'policydb.c:4162,13'
          Dst:             next_entry
        - Src:             'policydb.c:4166,8'
          Dst:             str_read
        - Src:             'policydb.c:4171,6'
          Dst:             ebitmap_read
        - Src:             'policydb.c:4175,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:4181,7'
          Dst:             ebitmap_read
        - Src:             'policydb.c:4186,8'
          Dst:             next_entry
        - Src:             'policydb.c:4191,7'
          Dst:             exceeds_available_bytes
        - Src:             'policydb.c:4210,4'
          Dst:             policydb_string_to_security_class
        - Src:             'policydb.c:4211,18'
          Dst:             policydb_string_to_security_class
        - Src:             'policydb.c:4215,4'
          Dst:             policydb_string_to_security_class
        - Src:             'policydb.c:4222,7'
          Dst:             avtab_read
        - Src:             'policydb.c:4224,7'
          Dst:             cond_read_list
        - Src:             'policydb.c:4226,7'
          Dst:             role_trans_read
        - Src:             'policydb.c:4228,7'
          Dst:             role_allow_read
        - Src:             'policydb.c:4231,7'
          Dst:             filename_trans_read
        - Src:             'policydb.c:4235,3'
          Dst:             avrule_block_destroy
        - Src:             'policydb.c:4237,7'
          Dst:             avrule_block_read
        - Src:             'policydb.c:4245,14'
          Dst:             next_entry
        - Src:             'policydb.c:4250,9'
          Dst:             scope_read
        - Src:             'policydb.c:4256,6'
          Dst:             policydb_index_decls
        - Src:             'policydb.c:4259,6'
          Dst:             policydb_index_classes
        - Src:             'policydb.c:4266,22'
          Dst:             policydb_string_to_av_perm
        - Src:             'policydb.c:4270,4'
          Dst:             policydb_string_to_av_perm
        - Src:             'policydb.c:4277,6'
          Dst:             policydb_index_others
        - Src:             'policydb.c:4280,6'
          Dst:             ocontext_read
        - Src:             'policydb.c:4284,6'
          Dst:             genfs_read
        - Src:             'policydb.c:4289,7'
          Dst:             range_read
        - Src:             'policydb.c:4295,22'
          Dst:             calloc
        - Src:             'policydb.c:4296,22'
          Dst:             calloc
        - Src:             'policydb.c:4300,8'
          Dst:             ebitmap_read
        - Src:             'policydb.c:4302,4'
          Dst:             ebitmap_start
        - Src:             'policydb.c:4302,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb.c:4318,9'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:4302,4'
          Dst:             ebitmap_next
        - Src:             'policydb.c:4324,8'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:4328,9'
          Dst:             ebitmap_set_bit
        - Src:             'policydb.c:4334,6'
          Dst:             policydb_validate
    - functionName:    policydb_lookup_compat
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 405
      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: 1046
      functionLinenumberEnd: 1072
      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:1049,12'
          Dst:             calloc
        - Src:             'policydb.c:1053,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1053,6'
          Dst:             common_index
        - Src:             'policydb.c:1057,45'
          Dst:             calloc
        - Src:             'policydb.c:1064,12'
          Dst:             calloc
        - Src:             'policydb.c:1068,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1068,6'
          Dst:             class_index
    - functionName:    policydb_index_others
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1136
      functionLinenumberEnd: 1200
      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:1159,43'
          Dst:             calloc
        - Src:             'policydb.c:1165,43'
          Dst:             calloc
        - Src:             'policydb.c:1171,43'
          Dst:             calloc
        - Src:             'policydb.c:1176,6'
          Dst:             cond_init_bool_indexes
        - Src:             'policydb.c:1183,37'
          Dst:             calloc
        - Src:             'policydb.c:1187,8'
          Dst:             hashtab_map
        - Src:             'policydb.c:1193,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1193,6'
          Dst:             policydb_role_cache
        - Src:             'policydb.c:1196,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1196,6'
          Dst:             policydb_user_cache
    - functionName:    policydb_role_cache
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 847
      functionLinenumberEnd: 860
      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:854,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:855,6'
          Dst:             type_set_expand
    - functionName:    type_set_or
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1677
      functionLinenumberEnd: 1691
      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:1678,2'
          Dst:             type_set_init
        - Src:             'policydb.c:1680,6'
          Dst:             ebitmap_or
        - Src:             'policydb.c:1683,6'
          Dst:             ebitmap_or
    - functionName:    type_set_or_eq
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1707
      functionLinenumberEnd: 1718
      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:1711,6'
          Dst:             type_set_or
        - Src:             'policydb.c:1713,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:1714,8'
          Dst:             type_set_cpy
        - Src:             'policydb.c:1715,2'
          Dst:             type_set_destroy
    - functionName:    type_set_cpy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1694
      functionLinenumberEnd: 1704
      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:1695,2'
          Dst:             type_set_init
        - Src:             'policydb.c:1698,6'
          Dst:             ebitmap_cpy
        - Src:             'policydb.c:1700,6'
          Dst:             ebitmap_cpy
    - functionName:    symtab_insert
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1575
      functionLinenumberEnd: 1673
      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:1586,7'
          Dst:             hashtab_insert
        - Src:             'policydb.c:1601,20'
          Dst:             hashtab_search
        - Src:             'policydb.c:1603,24'
          Dst:             strdup
        - Src:             'policydb.c:1613,13'
          Dst:             hashtab_insert
        - Src:             'policydb.c:1631,32'
          Dst:             hashtab_search
        - Src:             'policydb.c:1633,4'
          Dst:             __assert_fail
        - Src:             'policydb.c:1654,6'
          Dst:             add_i_to_a
    - functionName:    policydb_load_isids
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1530
      functionLinenumberEnd: 1547
      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:1533,6'
          Dst:             sepol_sidtab_init
        - Src:             'policydb.c:1540,7'
          Dst:             sepol_sidtab_insert
    - functionName:    range_tr_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1346
      functionLinenumberEnd: 1352
      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:1349,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1350,2'
          Dst:             ebitmap_destroy
    - functionName:    filenametr_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1329
      functionLinenumberEnd: 1341
      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:1337,3'
          Dst:             ebitmap_destroy
    - functionName:    ocontext_xen_free
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1378
      functionLinenumberEnd: 1394
      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:1387,4'
          Dst:             context_destroy
        - Src:             'policydb.c:1388,4'
          Dst:             context_destroy
    - functionName:    ocontext_selinux_free
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1356
      functionLinenumberEnd: 1375
      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:1365,4'
          Dst:             context_destroy
        - Src:             'policydb.c:1366,4'
          Dst:             context_destroy
    - functionName:    symtabs_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1505
      functionLinenumberEnd: 1511
      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:1508,9'
          Dst:             hashtab_map
        - Src:             'policydb.c:1509,3'
          Dst:             hashtab_destroy
    - functionName:    policydb_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1400
      functionLinenumberEnd: 1502
      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:1410,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1412,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1414,2'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1416,2'
          Dst:             symtabs_destroy
        - Src:             'policydb.c:1434,9'
          Dst:             hashtab_map
        - Src:             'policydb.c:1434,9'
          Dst:             scope_destroy
        - Src:             'policydb.c:1435,3'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:1437,2'
          Dst:             avrule_block_list_destroy
        - Src:             'policydb.c:1441,2'
          Dst:             avtab_destroy
        - Src:             'policydb.c:1444,3'
          Dst:             ocontext_selinux_free
        - Src:             'policydb.c:1446,3'
          Dst:             ocontext_xen_free
        - Src:             'policydb.c:1455,4'
          Dst:             context_destroy
        - Src:             'policydb.c:1463,2'
          Dst:             cond_policydb_destroy
        - Src:             'policydb.c:1481,2'
          Dst:             hashtab_map
        - Src:             'policydb.c:1481,2'
          Dst:             filenametr_destroy
        - Src:             'policydb.c:1482,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:1484,2'
          Dst:             hashtab_map
        - Src:             'policydb.c:1484,2'
          Dst:             range_tr_destroy
        - Src:             'policydb.c:1485,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:1489,4'
          Dst:             ebitmap_destroy
        - Src:             'policydb.c:1496,4'
          Dst:             ebitmap_destroy
    - functionName:    policydb_index_bools
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1075
      functionLinenumberEnd: 1085
      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:1076,6'
          Dst:             cond_init_bool_indexes
        - Src:             'policydb.c:1079,12'
          Dst:             calloc
        - Src:             'policydb.c:1082,6'
          Dst:             hashtab_map
        - Src:             'policydb.c:1082,6'
          Dst:             cond_index_bool
    - functionName:    rangetr_cmp
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 756
      functionLinenumberEnd: 772
      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: 747
      functionLinenumberEnd: 751
      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: 730
      functionLinenumberEnd: 744
      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:743,9'
          Dst:             strcmp
    - functionName:    filenametr_hash
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 714
      functionLinenumberEnd: 725
      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:724,10'
          Dst:             partial_name_hash
    - functionName:    roles_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 704
      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:677,9'
          Dst:             calloc
        - Src:             'policydb.c:682,8'
          Dst:             strdup
        - Src:             'policydb.c:687,7'
          Dst:             symtab_insert
    - functionName:    policydb_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 843
      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:785,8'
          Dst:             symtab_init
        - Src:             'policydb.c:792,7'
          Dst:             symtab_init
        - Src:             'policydb.c:796,19'
          Dst:             avrule_block_create
        - Src:             'policydb.c:797,32'
          Dst:             avrule_decl_create
        - Src:             'policydb.c:802,7'
          Dst:             avtab_init
        - Src:             'policydb.c:806,7'
          Dst:             roles_init
        - Src:             'policydb.c:810,7'
          Dst:             cond_policydb_init
        - Src:             'policydb.c:815,3'
          Dst:             hashtab_create
        - Src:             'policydb.c:815,3'
          Dst:             filenametr_hash
        - Src:             'policydb.c:815,3'
          Dst:             filenametr_cmp
        - Src:             'policydb.c:821,16'
          Dst:             hashtab_create
        - Src:             'policydb.c:821,16'
          Dst:             rangetr_hash
        - Src:             'policydb.c:821,16'
          Dst:             rangetr_cmp
        - Src:             'policydb.c:827,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:828,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:829,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:835,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:836,2'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:838,3'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:839,3'
          Dst:             hashtab_destroy
        - Src:             'policydb.c:841,2'
          Dst:             avrule_block_list_destroy
    - functionName:    avrule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 651
      functionLinenumberEnd: 664
      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:661,3'
          Dst:             avrule_destroy
    - functionName:    range_trans_rule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 648
      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:644,3'
          Dst:             range_trans_rule_destroy
    - functionName:    role_allow_rule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 621
      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:617,3'
          Dst:             role_allow_rule_destroy
    - functionName:    role_allow_rule_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 608
      functionLinenumberEnd: 611
      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:609,2'
          Dst:             role_set_destroy
        - Src:             'policydb.c:610,2'
          Dst:             role_set_destroy
    - functionName:    filename_trans_rule_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 587
      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:584,2'
          Dst:             type_set_destroy
        - Src:             'policydb.c:585,2'
          Dst:             type_set_destroy
    - functionName:    filename_trans_rule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 598
      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:594,3'
          Dst:             filename_trans_rule_destroy
    - functionName:    role_trans_rule_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 555
      functionLinenumberEnd: 561
      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:557,3'
          Dst:             role_set_destroy
        - Src:             'policydb.c:558,3'
          Dst:             type_set_destroy
        - Src:             'policydb.c:559,3'
          Dst:             ebitmap_destroy
    - functionName:    role_trans_rule_list_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 564
      functionLinenumberEnd: 571
      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:567,3'
          Dst:             role_trans_rule_destroy
    - functionName:    user_datum_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 475
      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:469,2'
          Dst:             role_set_init
        - Src:             'policydb.c:470,2'
          Dst:             mls_semantic_range_init
        - Src:             'policydb.c:471,2'
          Dst:             mls_semantic_level_init
        - Src:             'policydb.c:472,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:473,2'
          Dst:             mls_range_init
        - Src:             'policydb.c:474,2'
          Dst:             mls_level_init
    - functionName:    type_datum_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 457
      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:456,2'
          Dst:             ebitmap_init
    - functionName:    role_datum_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 441
      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:437,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:438,2'
          Dst:             type_set_init
        - Src:             'policydb.c:439,2'
          Dst:             ebitmap_init
        - Src:             'policydb.c:440,2'
          Dst:             ebitmap_init
    - functionName:    sepol_policydb_compat_net
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 207
      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:207,10'
          Dst:             hashtab_search
    - functionName:    sepol_policydb_mls_enabled
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 197
      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: 191
      functionLinenumberEnd: 192
      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:192,9'
          Dst:             policydb_to_image
    - functionName:    sepol_policydb_from_image
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 186
      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:186,9'
          Dst:             policydb_from_image
    - functionName:    sepol_policydb_write
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 180
      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:180,9'
          Dst:             policydb_write
    - functionName:    sepol_policydb_read
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      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:175,9'
          Dst:             policydb_read
    - functionName:    sepol_policydb_optimize
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 170
      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:170,9'
          Dst:             policydb_optimize
    - functionName:    sepol_policydb_set_target_platform
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 166
      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:156,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sepol_policydb_set_handle_unknown
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 149
      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:138,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sepol_policydb_set_vers
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 131
      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:115,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sepol_policydb_set_typevers
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 110
      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:97,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sepol_policy_kern_vers_max
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 91
      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: 85
      functionLinenumberEnd: 86
      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: 77
      functionLinenumberEnd: 82
      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:80,2'
          Dst:             policydb_destroy
    - functionName:    sepol_policydb_create
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 74
      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:68,6'
          Dst:             policydb_init
    - functionName:    sepol_policy_file_free
      functionSourceFile: '/src/selinux/libsepol/src/policydb_public.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 57
      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: 50
      functionLinenumberEnd: 52
      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: 40
      functionLinenumberEnd: 46
      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: 32
      functionLinenumberEnd: 36
      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: 18
      functionLinenumberEnd: 29
      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: 1926
      functionLinenumberEnd: 1945
      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:1932,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1934,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1936,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1938,6'
          Dst:             validate_mls_range
    - functionName:    validate_value
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 123
      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:116,6'
          Dst:             ebitmap_get_bit
    - functionName:    validate_mls_range
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 850
      functionLinenumberEnd: 860
      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:851,6'
          Dst:             validate_mls_level
        - Src:             'policydb_validate.c:853,6'
          Dst:             validate_mls_level
    - functionName:    validate_mls_level
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 792
      functionLinenumberEnd: 804
      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:795,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:797,6'
          Dst:             validate_ebitmap
    - functionName:    validate_ebitmap
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 154
      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:145,6'
          Dst:             ebitmap_highest_set_bit
        - Src:             'policydb_validate.c:147,6'
          Dst:             ebitmap_match_any
    - functionName:    validate_bool_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 911
      functionLinenumberEnd: 936
      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:915,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:923,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:912,6'
          Dst:             validate_value
    - functionName:    validate_level_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 809
      functionLinenumberEnd: 837
      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:816,6'
          Dst:             validate_mls_level
        - Src:             'policydb_validate.c:823,50'
          Dst:             hashtab_search
        - Src:             'policydb_validate.c:828,8'
          Dst:             ebitmap_cmp
    - functionName:    validate_user_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 864
      functionLinenumberEnd: 897
      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:865,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:867,6'
          Dst:             validate_role_set
        - Src:             'policydb_validate.c:871,7'
          Dst:             validate_mls_semantic_range
        - Src:             'policydb_validate.c:875,7'
          Dst:             validate_mls_semantic_level
        - Src:             'policydb_validate.c:881,7'
          Dst:             validate_mls_range
        - Src:             'policydb_validate.c:884,7'
          Dst:             validate_mls_level
        - Src:             'policydb_validate.c:889,22'
          Dst:             validate_value
    - functionName:    validate_role_set
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 211
      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:198,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:195,6'
          Dst:             validate_ebitmap
    - functionName:    validate_mls_semantic_range
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 776
      functionLinenumberEnd: 788
      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:777,6'
          Dst:             validate_mls_semantic_level
        - Src:             'policydb_validate.c:780,6'
          Dst:             validate_mls_semantic_level
    - functionName:    validate_mls_semantic_level
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 771
      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:762,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:764,6'
          Dst:             validate_mls_semantic_cat
    - functionName:    validate_mls_semantic_cat
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 740
      functionLinenumberEnd: 754
      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:742,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:744,7'
          Dst:             validate_value
    - functionName:    validate_types_in_attribute
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 654
      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:639,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:644,3'
          Dst:             ebitmap_start
        - Src:             'policydb_validate.c:644,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb_validate.c:645,8'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:644,3'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_simpletype
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 613
      functionLinenumberEnd: 630
      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:616,6'
          Dst:             validate_value
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_type_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 727
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         89
      ICount:          469
      EdgeCount:       115
      CyclomaticComplexity: 28
      functionsReached:
        - validate_simpletype
        - validate_types_in_attribute
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:662,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:659,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:682,8'
          Dst:             validate_types_in_attribute
        - Src:             'policydb_validate.c:693,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:706,9'
          Dst:             validate_value
    - functionName:    validate_role_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 601
      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:588,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:577,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:579,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:581,6'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:583,22'
          Dst:             validate_value
        - Src:             'policydb_validate.c:585,6'
          Dst:             validate_ebitmap
    - functionName:    validate_type_set
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 176
      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:163,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:158,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:160,6'
          Dst:             validate_ebitmap
    - functionName:    validate_empty_type_set
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 191
      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: 267
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         138
      ICount:          646
      EdgeCount:       168
      CyclomaticComplexity: 32
      functionsReached:
        - validate_ebitmap
        - validate_empty_type_set
        - validate_type_set
      functionUses:    2
      BranchProfiles:
        - Branch String:   'policydb_validate.c:302,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:310,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:352,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:367,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:382,5'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:297,10'
          Dst:             validate_empty_type_set
        - Src:             'policydb_validate.c:314,10'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:322,10'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:330,10'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:334,10'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:349,9'
          Dst:             validate_empty_type_set
        - Src:             'policydb_validate.c:403,9'
          Dst:             validate_empty_type_set
    - functionName:    validate_class_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 492
      functionLinenumberEnd: 564
      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:518,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:527,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:536,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:545,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:494,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:497,6'
          Dst:             validate_common_datum
        - Src:             'policydb_validate.c:507,6'
          Dst:             validate_permission_symtab
        - Src:             'policydb_validate.c:511,6'
          Dst:             validate_constraint_nodes
        - Src:             'policydb_validate.c:514,6'
          Dst:             validate_constraint_nodes
    - functionName:    validate_common_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 478
      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:463,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:470,6'
          Dst:             validate_permission_symtab
    - functionName:    validate_permission_symtab
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 457
      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:449,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:449,6'
          Dst:             perm_visit
    - functionName:    perm_visit
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 437
      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:425,7'
          Dst:             value_isvalid
        - Src:             'policydb_validate.c:429,6'
          Dst:             value_isvalid
    - functionName:    value_isvalid
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 110
      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: 940
      functionLinenumberEnd: 943
      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:943,9'
          Dst:             validate_bool_datum
    - functionName:    validate_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 990
      functionLinenumberEnd: 994
      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:994,10'
          Dst:             value_isvalid
    - functionName:    validate_level_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 841
      functionLinenumberEnd: 845
      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:844,9'
          Dst:             validate_level_datum
    - functionName:    validate_user_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 901
      functionLinenumberEnd: 905
      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:904,9'
          Dst:             validate_user_datum
    - functionName:    validate_type_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 731
      functionLinenumberEnd: 735
      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:734,9'
          Dst:             validate_type_datum
    - functionName:    validate_role_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 605
      functionLinenumberEnd: 608
      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:608,9'
          Dst:             validate_role_datum
    - functionName:    validate_class_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 568
      functionLinenumberEnd: 571
      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:571,9'
          Dst:             validate_class_datum
    - functionName:    validate_common_datum_wrapper
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 486
      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:486,9'
          Dst:             validate_common_datum
    - functionName:    validate_scope
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 237
      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:220,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:229,8'
          Dst:             value_isvalid
    - functionName:    validate_context
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1514
      functionLinenumberEnd: 1526
      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:1515,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1517,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1519,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1521,13'
          Dst:             validate_mls_range
    - functionName:    validate_filename_trans_rules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1796
      functionLinenumberEnd: 1831
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          192
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - validate_simpletype
        - validate_string_field
        - validate_type_set
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1813,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1798,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1801,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1804,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1807,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:1809,7'
          Dst:             validate_string_field
    - functionName:    validate_string_field
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          68
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __ctype_b_loc
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:131,7'
          Dst:             __ctype_b_loc
    - functionName:    validate_scope_index
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1729
      functionLinenumberEnd: 1790
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          359
      EdgeCount:       83
      CyclomaticComplexity: 24
      functionsReached:
        - ebitmap_highest_set_bit
        - ebitmap_next
        - ebitmap_node_get_bit
        - ebitmap_start
        - validate_ebitmap
        - validate_value
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1732,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1735,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1737,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1739,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1741,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1743,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1745,6'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1752,7'
          Dst:             ebitmap_highest_set_bit
        - Src:             'policydb_validate.c:1760,8'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1768,4'
          Dst:             ebitmap_start
        - Src:             'policydb_validate.c:1768,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb_validate.c:1768,4'
          Dst:             ebitmap_next
    - functionName:    validate_range_trans_rules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1702
      functionLinenumberEnd: 1724
      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:1704,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1707,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1710,7'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1713,7'
          Dst:             validate_mls_semantic_range
    - functionName:    validate_role_allow_rules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1683
      functionLinenumberEnd: 1697
      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:1685,7'
          Dst:             validate_role_set
        - Src:             'policydb_validate.c:1687,7'
          Dst:             validate_role_set
    - functionName:    validate_role_trans_rules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1660
      functionLinenumberEnd: 1678
      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:1662,7'
          Dst:             validate_role_set
        - Src:             'policydb_validate.c:1664,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1666,7'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1669,7'
          Dst:             validate_value
    - functionName:    validate_filename_trans
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1470
      functionLinenumberEnd: 1496
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          127
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - validate_ebitmap
        - validate_simpletype
        - validate_string_field
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1477,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1479,6'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1481,6'
          Dst:             validate_string_field
        - Src:             'policydb_validate.c:1486,7'
          Dst:             validate_ebitmap
        - Src:             'policydb_validate.c:1488,7'
          Dst:             validate_simpletype
    - functionName:    validate_bool_id_array
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1303
      functionLinenumberEnd: 1319
      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:1310,7'
          Dst:             validate_value
    - functionName:    validate_avrules
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1200
      functionLinenumberEnd: 1297
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         101
      ICount:          493
      EdgeCount:       121
      CyclomaticComplexity: 22
      functionsReached:
        - validate_simpletype
        - validate_type_set
        - validate_value
      functionUses:    3
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1209,3'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1257,4'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1268,3'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1279,4'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1204,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1206,7'
          Dst:             validate_type_set
        - Src:             'policydb_validate.c:1233,8'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1245,9'
          Dst:             validate_simpletype
    - functionName:    validate_cond_av_list
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1179
      functionLinenumberEnd: 1195
      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:1186,8'
          Dst:             validate_avtab_key_and_datum
    - functionName:    validate_avtab_key_and_datum
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1125
      functionLinenumberEnd: 1161
      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:1128,6'
          Dst:             validate_avtab_key
        - Src:             'policydb_validate.c:1138,7'
          Dst:             validate_access_vector
        - Src:             'policydb_validate.c:1144,6'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:1152,7'
          Dst:             validate_access_vector
        - Src:             'policydb_validate.c:1156,7'
          Dst:             validate_xperms
    - functionName:    validate_avtab_key
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1049
      functionLinenumberEnd: 1088
      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:1064,2'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1051,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:1053,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:1056,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1058,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1062,6'
          Dst:             validate_value
    - functionName:    validate_access_vector
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1110
      functionLinenumberEnd: 1121
      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: 1091
      functionLinenumberEnd: 1105
      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:1092,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    validate_cond_expr
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1324
      functionLinenumberEnd: 1383
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         59
      ICount:          312
      EdgeCount:       74
      CyclomaticComplexity: 17
      functionsReached:
        - validate_value
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1334,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1336,8'
          Dst:             validate_value
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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:    create_gap_ebitmap
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 56
      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:46,2'
          Dst:             ebitmap_init
        - Src:             'policydb_validate.c:50,8'
          Dst:             ebitmap_set_bit
    - functionName:    validate_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 65
      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:61,6'
          Dst:             create_gap_ebitmap
    - functionName:    validate_array_destroy
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2070
      functionLinenumberEnd: 2076
      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:2074,3'
          Dst:             ebitmap_destroy
    - functionName:    validate_attrtype_map
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1983
      functionLinenumberEnd: 2000
      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:1989,8'
          Dst:             validate_ebitmap
    - functionName:    validate_typeattr_map
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1962
      functionLinenumberEnd: 1979
      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:1968,8'
          Dst:             validate_ebitmap
    - functionName:    validate_range_transitions
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1949
      functionLinenumberEnd: 1958
      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:1952,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1952,6'
          Dst:             validate_range_transition
    - functionName:    validate_neveraudit
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1908
      functionLinenumberEnd: 1922
      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:1912,2'
          Dst:             ebitmap_start
        - Src:             'policydb_validate.c:1912,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb_validate.c:1913,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:1912,2'
          Dst:             ebitmap_next
    - functionName:    validate_permissives
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1890
      functionLinenumberEnd: 1904
      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:1894,2'
          Dst:             ebitmap_start
        - Src:             'policydb_validate.c:1894,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb_validate.c:1895,7'
          Dst:             validate_simpletype
        - Src:             'policydb_validate.c:1894,2'
          Dst:             ebitmap_next
    - functionName:    validate_datum_array_entries
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1001
      functionLinenumberEnd: 1041
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          191
      EdgeCount:       39
      CyclomaticComplexity: 12
      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:1004,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1004,6'
          Dst:             validate_common_datum_wrapper
        - Src:             'policydb_validate.c:1008,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1008,6'
          Dst:             validate_class_datum_wrapper
        - Src:             'policydb_validate.c:1012,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1012,6'
          Dst:             validate_role_datum_wrapper
        - Src:             'policydb_validate.c:1016,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1016,6'
          Dst:             validate_type_datum_wrapper
        - Src:             'policydb_validate.c:1020,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1020,6'
          Dst:             validate_user_datum_wrapper
        - Src:             'policydb_validate.c:1024,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1024,6'
          Dst:             validate_level_datum_wrapper
        - Src:             'policydb_validate.c:1028,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1028,6'
          Dst:             validate_datum
        - Src:             'policydb_validate.c:1032,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1032,6'
          Dst:             validate_bool_datum_wrapper
    - functionName:    validate_datum_array_gaps
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 948
      functionLinenumberEnd: 986
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          303
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached:
        - ebitmap_get_bit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:952,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb_validate.c:958,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb_validate.c:964,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb_validate.c:970,7'
          Dst:             ebitmap_get_bit
        - Src:             'policydb_validate.c:976,7'
          Dst:             ebitmap_get_bit
    - functionName:    validate_scopes
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 262
      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:253,7'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:253,7'
          Dst:             validate_scope
    - functionName:    validate_genfs
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1625
      functionLinenumberEnd: 1651
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          177
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - validate_context
        - validate_string_field
        - validate_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:1631,8'
          Dst:             validate_context
        - Src:             'policydb_validate.c:1635,8'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1638,8'
          Dst:             validate_string_field
        - Src:             'policydb_validate.c:1642,7'
          Dst:             validate_string_field
    - functionName:    validate_ocontexts
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1530
      functionLinenumberEnd: 1621
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         86
      ICount:          440
      EdgeCount:       106
      CyclomaticComplexity: 22
      functionsReached:
        - validate_context
        - validate_string_field
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:1541,5'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1561,6'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1586,5'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1536,8'
          Dst:             validate_context
        - Src:             'policydb_validate.c:1549,10'
          Dst:             validate_context
        - Src:             'policydb_validate.c:1552,10'
          Dst:             validate_string_field
        - Src:             'policydb_validate.c:1569,10'
          Dst:             validate_string_field
        - Src:             'policydb_validate.c:1580,10'
          Dst:             validate_string_field
        - Src:             'policydb_validate.c:1608,10'
          Dst:             validate_string_field
    - functionName:    validate_avrule_blocks
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1836
      functionLinenumberEnd: 1886
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          250
      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:1872,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1842,8'
          Dst:             validate_cond_list
        - Src:             'policydb_validate.c:1845,8'
          Dst:             validate_avrules
        - Src:             'policydb_validate.c:1848,8'
          Dst:             validate_role_trans_rules
        - Src:             'policydb_validate.c:1851,8'
          Dst:             validate_role_allow_rules
        - Src:             'policydb_validate.c:1854,8'
          Dst:             validate_range_trans_rules
        - Src:             'policydb_validate.c:1857,8'
          Dst:             validate_scope_index
        - Src:             'policydb_validate.c:1860,8'
          Dst:             validate_scope_index
        - Src:             'policydb_validate.c:1863,8'
          Dst:             validate_filename_trans_rules
        - Src:             'policydb_validate.c:1867,8'
          Dst:             validate_datum_array_entries
    - functionName:    validate_cond_list
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1387
      functionLinenumberEnd: 1426
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          218
      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:1404,3'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:1412,3'
          Branch Sides:    []
      Callsites:
        - Src:             'policydb_validate.c:1389,7'
          Dst:             validate_cond_expr
        - Src:             'policydb_validate.c:1392,7'
          Dst:             validate_cond_av_list
        - Src:             'policydb_validate.c:1394,7'
          Dst:             validate_cond_av_list
        - Src:             'policydb_validate.c:1396,7'
          Dst:             validate_avrules
        - Src:             'policydb_validate.c:1398,7'
          Dst:             validate_avrules
        - Src:             'policydb_validate.c:1400,7'
          Dst:             validate_bool_id_array
    - functionName:    validate_filename_trans_hashtab
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1501
      functionLinenumberEnd: 1510
      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:1504,6'
          Dst:             hashtab_map
        - Src:             'policydb_validate.c:1504,6'
          Dst:             validate_filename_trans
    - functionName:    validate_role_allows
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1453
      functionLinenumberEnd: 1466
      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:1455,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1457,7'
          Dst:             validate_value
    - functionName:    validate_role_transes
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1431
      functionLinenumberEnd: 1448
      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:1433,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1435,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1437,7'
          Dst:             validate_value
        - Src:             'policydb_validate.c:1439,7'
          Dst:             validate_value
    - functionName:    validate_avtab
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1165
      functionLinenumberEnd: 1174
      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:1168,6'
          Dst:             avtab_map
        - Src:             'policydb_validate.c:1168,6'
          Dst:             validate_avtab_key_and_datum
    - functionName:    validate_policycaps
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2053
      functionLinenumberEnd: 2067
      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:2057,2'
          Dst:             ebitmap_start
        - Src:             'policydb_validate.c:2057,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'policydb_validate.c:2058,8'
          Dst:             sepol_polcap_getname
        - Src:             'policydb_validate.c:2057,2'
          Dst:             ebitmap_next
    - functionName:    validate_properties
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2003
      functionLinenumberEnd: 2050
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         45
      ICount:          204
      EdgeCount:       47
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'policydb_validate.c:2004,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:2020,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:2028,2'
          Branch Sides:    []
        - Branch String:   'policydb_validate.c:2036,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    validate_array_init
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          176
      EdgeCount:       29
      CyclomaticComplexity: 10
      functionsReached:
        - validate_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'policydb_validate.c:69,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:72,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:75,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:78,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:81,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:84,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:87,6'
          Dst:             validate_init
        - Src:             'policydb_validate.c:90,6'
          Dst:             validate_init
    - functionName:    policydb_validate
      functionSourceFile: '/src/selinux/libsepol/src/policydb_validate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2082
      functionLinenumberEnd: 2151
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         62
      ICount:          357
      EdgeCount:       87
      CyclomaticComplexity: 27
      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:2085,6'
          Dst:             validate_array_init
        - Src:             'policydb_validate.c:2088,6'
          Dst:             validate_properties
        - Src:             'policydb_validate.c:2091,6'
          Dst:             validate_policycaps
        - Src:             'policydb_validate.c:2095,7'
          Dst:             validate_avtab
        - Src:             'policydb_validate.c:2097,7'
          Dst:             validate_cond_list
        - Src:             'policydb_validate.c:2099,7'
          Dst:             validate_role_transes
        - Src:             'policydb_validate.c:2101,7'
          Dst:             validate_role_allows
        - Src:             'policydb_validate.c:2104,8'
          Dst:             validate_filename_trans_hashtab
        - Src:             'policydb_validate.c:2109,7'
          Dst:             validate_avrule_blocks
        - Src:             'policydb_validate.c:2113,6'
          Dst:             validate_ocontexts
        - Src:             'policydb_validate.c:2116,6'
          Dst:             validate_genfs
        - Src:             'policydb_validate.c:2119,6'
          Dst:             validate_scopes
        - Src:             'policydb_validate.c:2122,6'
          Dst:             validate_datum_array_gaps
        - Src:             'policydb_validate.c:2125,6'
          Dst:             validate_datum_array_entries
        - Src:             'policydb_validate.c:2128,6'
          Dst:             validate_permissives
        - Src:             'policydb_validate.c:2131,6'
          Dst:             validate_neveraudit
        - Src:             'policydb_validate.c:2134,6'
          Dst:             validate_range_transitions
        - Src:             'policydb_validate.c:2137,6'
          Dst:             validate_typeattr_map
        - Src:             'policydb_validate.c:2140,6'
          Dst:             validate_attrtype_map
        - Src:             'policydb_validate.c:2143,2'
          Dst:             validate_array_destroy
        - Src:             'policydb_validate.c:2149,2'
          Dst:             validate_array_destroy
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 88
      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:85,6'
          Dst:             ebitmap_cpy
    - functionName:    mls_range_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 141
      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:128,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:131,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:137,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 102
      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:100,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:101,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 93
      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: 52
      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:48,6'
          Dst:             mls_range_cpy
    - functionName:    convert_context_handle_invalid_context
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1621
      functionLinenumberEnd: 1633
      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:1628,3'
          Dst:             context_to_string
    - functionName:    context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 130
      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:130,9'
          Dst:             mls_context_cpy
    - functionName:    validate_perm
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1542
      functionLinenumberEnd: 1559
      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:1549,30'
          Dst:             hashtab_search
    - functionName:    compute_sid_handle_invalid_context
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1348
      functionLinenumberEnd: 1367
      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:1355,3'
          Dst:             context_to_string
        - Src:             'services.c:1356,3'
          Dst:             context_to_string
        - Src:             'services.c:1357,3'
          Dst:             context_to_string
    - functionName:    context_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 122
      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: 144
      functionLinenumberEnd: 147
      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:145,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:146,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: 150
      functionLinenumberEnd: 153
      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:151,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:152,2'
          Dst:             mls_level_destroy
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 117
      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:115,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:116,2'
          Dst:             mls_context_init
    - functionName:    type_attribute_bounds_av
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 896
      functionLinenumberEnd: 936
      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:921,2'
          Dst:             context_struct_compute_av
    - functionName:    context_struct_compute_av
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 949
      functionLinenumberEnd: 1060
      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:984,2'
          Dst:             ebitmap_start
        - Src:             'services.c:984,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'services.c:985,3'
          Dst:             ebitmap_start
        - Src:             'services.c:985,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'services.c:988,16'
          Dst:             avtab_search_node
        - Src:             'services.c:990,30'
          Dst:             avtab_search_node_next
        - Src:             'services.c:1002,4'
          Dst:             cond_compute_av
        - Src:             'services.c:985,3'
          Dst:             ebitmap_next
        - Src:             'services.c:984,2'
          Dst:             ebitmap_next
        - Src:             'services.c:1019,8'
          Dst:             constraint_expr_eval_reason
        - Src:             'services.c:1057,2'
          Dst:             type_attribute_bounds_av
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      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: 70
      functionLinenumberEnd: 74
      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: 59
      functionLinenumberEnd: 66
      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: 396
      functionLinenumberEnd: 879
      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:484,3'
          Branch Sides:    []
        - Branch String:   'services.c:518,4'
          Branch Sides:    []
        - Branch String:   'services.c:545,5'
          Branch Sides:    []
        - Branch String:   'services.c:620,5'
          Branch Sides:    []
        - Branch String:   'services.c:656,4'
          Branch Sides:    []
        - Branch String:   'services.c:712,4'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:437,14'
          Dst:             get_class_info
        - Src:             'services.c:457,20'
          Dst:             reallocarray
        - Src:             'services.c:492,4'
          Dst:             cat_expr_buf
        - Src:             'services.c:502,4'
          Dst:             cat_expr_buf
        - Src:             'services.c:512,4'
          Dst:             cat_expr_buf
        - Src:             'services.c:523,11'
          Dst:             strdup
        - Src:             'services.c:525,11'
          Dst:             strdup
        - Src:             'services.c:531,11'
          Dst:             strdup
        - Src:             'services.c:533,11'
          Dst:             strdup
        - Src:             'services.c:541,11'
          Dst:             strdup
        - Src:             'services.c:543,11'
          Dst:             strdup
        - Src:             'services.c:547,16'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:549,6'
          Dst:             msgcat
        - Src:             'services.c:553,16'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:555,6'
          Dst:             msgcat
        - Src:             'services.c:559,18'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:562,11'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:565,6'
          Dst:             msgcat
        - Src:             'services.c:576,11'
          Dst:             strdup
        - Src:             'services.c:578,11'
          Dst:             strdup
        - Src:             'services.c:584,11'
          Dst:             strdup
        - Src:             'services.c:586,11'
          Dst:             strdup
        - Src:             'services.c:592,11'
          Dst:             strdup
        - Src:             'services.c:594,11'
          Dst:             strdup
        - Src:             'services.c:600,11'
          Dst:             strdup
        - Src:             'services.c:602,11'
          Dst:             strdup
        - Src:             'services.c:608,11'
          Dst:             strdup
        - Src:             'services.c:610,11'
          Dst:             strdup
        - Src:             'services.c:616,11'
          Dst:             strdup
        - Src:             'services.c:618,11'
          Dst:             strdup
        - Src:             'services.c:622,16'
          Dst:             mls_level_eq
        - Src:             'services.c:623,6'
          Dst:             msgcat
        - Src:             'services.c:627,17'
          Dst:             mls_level_eq
        - Src:             'services.c:628,6'
          Dst:             msgcat
        - Src:             'services.c:632,16'
          Dst:             mls_level_dom
        - Src:             'services.c:633,6'
          Dst:             msgcat
        - Src:             'services.c:637,16'
          Dst:             mls_level_dom
        - Src:             'services.c:638,6'
          Dst:             msgcat
        - Src:             'services.c:642,16'
          Dst:             mls_level_dom
        - Src:             'services.c:642,16'
          Dst:             mls_level_dom
        - Src:             'services.c:643,6'
          Dst:             msgcat
        - Src:             'services.c:659,5'
          Dst:             msgcat
        - Src:             'services.c:663,5'
          Dst:             msgcat
        - Src:             'services.c:689,5'
          Dst:             snprintf
        - Src:             'services.c:692,11'
          Dst:             strdup
        - Src:             'services.c:696,5'
          Dst:             snprintf
        - Src:             'services.c:699,11'
          Dst:             strdup
        - Src:             'services.c:703,5'
          Dst:             snprintf
        - Src:             'services.c:706,11'
          Dst:             strdup
        - Src:             'services.c:714,15'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:715,5'
          Dst:             get_name_list
        - Src:             'services.c:719,16'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:720,5'
          Dst:             get_name_list
        - Src:             'services.c:752,16'
          Dst:             calloc
        - Src:             'services.c:761,7'
          Dst:             strncmp
        - Src:             'services.c:762,7'
          Dst:             strncmp
        - Src:             'services.c:763,8'
          Dst:             pop
        - Src:             'services.c:764,12'
          Dst:             strlen
        - Src:             'services.c:765,8'
          Dst:             pop
        - Src:             'services.c:766,12'
          Dst:             strlen
        - Src:             'services.c:778,4'
          Dst:             sprintf
        - Src:             'services.c:780,4'
          Dst:             push
        - Src:             'services.c:784,14'
          Dst:             strncmp
        - Src:             'services.c:785,8'
          Dst:             pop
        - Src:             'services.c:786,12'
          Dst:             strlen
        - Src:             'services.c:796,8'
          Dst:             strncmp
        - Src:             'services.c:797,5'
          Dst:             sprintf
        - Src:             'services.c:800,5'
          Dst:             sprintf
        - Src:             'services.c:802,4'
          Dst:             push
        - Src:             'services.c:806,4'
          Dst:             push
        - Src:             'services.c:810,6'
          Dst:             pop
        - Src:             'services.c:814,2'
          Dst:             sprintf
        - Src:             'services.c:838,11'
          Dst:             snprintf
        - Src:             'services.c:846,7'
          Dst:             realloc
    - functionName:    get_class_info
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 367
      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:325,19'
          Dst:             realloc
        - Src:             'services.c:336,9'
          Dst:             snprintf
        - Src:             'services.c:344,9'
          Dst:             snprintf
        - Src:             'services.c:353,20'
          Dst:             sepol_av_to_string
        - Src:             'services.c:356,10'
          Dst:             snprintf
        - Src:             'services.c:360,10'
          Dst:             snprintf
    - functionName:    cat_expr_buf
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 202
      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:185,9'
          Dst:             snprintf
        - Src:             'services.c:188,14'
          Dst:             realloc
    - functionName:    msgcat
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 287
      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:282,3'
          Dst:             snprintf
        - Src:             'services.c:285,3'
          Dst:             snprintf
        - Src:             'services.c:286,2'
          Dst:             cat_expr_buf
    - functionName:    mls_level_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 107
      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:107,36'
          Dst:             ebitmap_cmp
    - functionName:    mls_level_dom
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 113
      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:113,36'
          Dst:             ebitmap_contains
    - functionName:    get_name_list
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 275
      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:251,4'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:230,8'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:236,2'
          Dst:             snprintf
        - Src:             'services.c:237,2'
          Dst:             cat_expr_buf
        - Src:             'services.c:240,3'
          Dst:             cat_expr_buf
        - Src:             'services.c:242,3'
          Dst:             cat_expr_buf
        - Src:             'services.c:246,9'
          Dst:             ebitmap_get_bit
        - Src:             'services.c:253,5'
          Dst:             snprintf
        - Src:             'services.c:257,5'
          Dst:             snprintf
        - Src:             'services.c:261,5'
          Dst:             snprintf
        - Src:             'services.c:265,4'
          Dst:             cat_expr_buf
        - Src:             'services.c:269,3'
          Dst:             cat_expr_buf
        - Src:             'services.c:271,3'
          Dst:             cat_expr_buf
        - Src:             'services.c:273,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: 113
      functionLinenumberEnd: 121
      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: 90
      functionLinenumberEnd: 110
      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:100,15'
          Dst:             reallocarray
    - functionName:    sepol_fs_use
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2308
      functionLinenumberEnd: 2339
      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:2314,7'
          Dst:             strcmp
        - Src:             'services.c:2322,9'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:2329,8'
          Dst:             sepol_genfs_sid
    - functionName:    sepol_genfs_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2263
      functionLinenumberEnd: 2303
      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:2270,9'
          Dst:             strcmp
        - Src:             'services.c:2282,9'
          Dst:             strlen
        - Src:             'services.c:2284,8'
          Dst:             strncmp
        - Src:             'services.c:2295,8'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_get_user_sids
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2174
      functionLinenumberEnd: 2253
      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:2185,12'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:2191,25'
          Dst:             hashtab_search
        - Src:             'services.c:2199,11'
          Dst:             calloc
        - Src:             'services.c:2205,2'
          Dst:             ebitmap_start
        - Src:             'services.c:2205,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'services.c:2208,3'
          Dst:             ebitmap_start
        - Src:             'services.c:2208,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'services.c:2213,8'
          Dst:             mls_setup_user_range
        - Src:             'services.c:2217,9'
          Dst:             context_struct_compute_av
        - Src:             'services.c:2223,9'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:2233,15'
          Dst:             calloc
        - Src:             'services.c:2208,3'
          Dst:             ebitmap_next
        - Src:             'services.c:2205,2'
          Dst:             ebitmap_next
    - functionName:    match_ipv6_addrmask
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2083
      functionLinenumberEnd: 2092
      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: 2103
      functionLinenumberEnd: 2160
      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:2107,2'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:2135,8'
          Dst:             match_ipv6_addrmask
        - Src:             'services.c:2149,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_netif_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2049
      functionLinenumberEnd: 2079
      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:2055,7'
          Dst:             strcmp
        - Src:             'services.c:2062,9'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:2066,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_port_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2012
      functionLinenumberEnd: 2037
      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:2026,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_ibendport_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1977
      functionLinenumberEnd: 2002
      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:1984,8'
          Dst:             strcmp
        - Src:             'services.c:1991,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_ibpkey_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1942
      functionLinenumberEnd: 1968
      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:1957,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    sepol_fs_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1903
      functionLinenumberEnd: 1933
      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:1909,7'
          Dst:             strcmp
        - Src:             'services.c:1916,9'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:1920,9'
          Dst:             sepol_sidtab_context_to_sid
    - functionName:    convert_context
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1649
      functionLinenumberEnd: 1712
      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:1661,6'
          Dst:             context_cpy
        - Src:             'services.c:1665,29'
          Dst:             hashtab_search
        - Src:             'services.c:1675,25'
          Dst:             hashtab_search
        - Src:             'services.c:1684,29'
          Dst:             hashtab_search
        - Src:             'services.c:1692,7'
          Dst:             mls_convert_context
        - Src:             'services.c:1697,7'
          Dst:             policydb_context_isvalid
        - Src:             'services.c:1698,8'
          Dst:             convert_context_handle_invalid_context
        - Src:             'services.c:1703,2'
          Dst:             context_destroy
        - Src:             'services.c:1707,2'
          Dst:             context_to_string
        - Src:             'services.c:1708,2'
          Dst:             context_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 140
      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:139,2'
          Dst:             mls_context_destroy
    - functionName:    clone_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1613
      functionLinenumberEnd: 1616
      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:1616,9'
          Dst:             sepol_sidtab_insert
    - functionName:    validate_class
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1567
      functionLinenumberEnd: 1608
      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:1574,31'
          Dst:             hashtab_search
        - Src:             'services.c:1592,7'
          Dst:             hashtab_map
        - Src:             'services.c:1592,7'
          Dst:             validate_perm
        - Src:             'services.c:1602,6'
          Dst:             hashtab_map
        - Src:             'services.c:1602,6'
          Dst:             validate_perm
    - functionName:    sepol_load_policy
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1830
      functionLinenumberEnd: 1892
      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:1837,2'
          Dst:             policy_file_init
        - Src:             'services.c:1843,6'
          Dst:             policydb_init
        - Src:             'services.c:1846,6'
          Dst:             policydb_read
        - Src:             'services.c:1847,3'
          Dst:             policydb_destroy
        - Src:             'services.c:1851,2'
          Dst:             sepol_sidtab_init
        - Src:             'services.c:1854,6'
          Dst:             hashtab_map
        - Src:             'services.c:1854,6'
          Dst:             validate_class
        - Src:             'services.c:1862,2'
          Dst:             sepol_sidtab_shutdown
        - Src:             'services.c:1863,6'
          Dst:             sepol_sidtab_map
        - Src:             'services.c:1863,6'
          Dst:             clone_sid
        - Src:             'services.c:1872,2'
          Dst:             sepol_sidtab_map_remove_on_error
        - Src:             'services.c:1872,2'
          Dst:             convert_context
        - Src:             'services.c:1876,2'
          Dst:             sepol_sidtab_set
        - Src:             'services.c:1880,2'
          Dst:             sepol_sidtab_set
        - Src:             'services.c:1883,2'
          Dst:             policydb_destroy
        - Src:             'services.c:1884,2'
          Dst:             sepol_sidtab_destroy
        - Src:             'services.c:1889,2'
          Dst:             sepol_sidtab_destroy
        - Src:             'services.c:1890,2'
          Dst:             policydb_destroy
    - functionName:    exceeds_available_bytes
      functionSourceFile: '/src/selinux/libsepol/src/./private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 65
      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: 1780
      functionLinenumberEnd: 1810
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          102
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - exceeds_available_bytes
        - memchr
        - next_entry
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'services.c:1785,6'
          Dst:             exceeds_available_bytes
        - Src:             'services.c:1786,3'
          Dst:             __errno_location
        - Src:             'services.c:1798,7'
          Dst:             next_entry
        - Src:             'services.c:1803,6'
          Dst:             memchr
        - Src:             'services.c:1804,3'
          Dst:             __errno_location
    - functionName:    next_entry
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1716
      functionLinenumberEnd: 1740
      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:    114
      BranchProfiles:
        - Branch String:   'services.c:1719,2'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:1721,11'
          Dst:             fread
        - Src:             'services.c:1728,4'
          Dst:             __errno_location
        - Src:             'services.c:1736,3'
          Dst:             __errno_location
    - functionName:    memchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    put_entry
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1743
      functionLinenumberEnd: 1769
      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:    132
      BranchProfiles:
        - Branch String:   'services.c:1749,2'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:1751,10'
          Dst:             fwrite
        - Src:             'services.c:1754,4'
          Dst:             __errno_location
    - functionName:    sepol_change_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1532
      functionLinenumberEnd: 1533
      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:1533,9'
          Dst:             sepol_compute_sid
    - functionName:    sepol_compute_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1372
      functionLinenumberEnd: 1500
      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:1398,2'
          Branch Sides:    []
      Callsites:
        - Src:             'services.c:1381,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1386,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1395,2'
          Dst:             context_init
        - Src:             'services.c:1447,12'
          Dst:             avtab_search
        - Src:             'services.c:1451,10'
          Dst:             avtab_search_node
        - Src:             'services.c:1453,15'
          Dst:             avtab_search_node_next
        - Src:             'services.c:1483,7'
          Dst:             mls_compute_sid
        - Src:             'services.c:1489,7'
          Dst:             policydb_context_isvalid
        - Src:             'services.c:1490,8'
          Dst:             compute_sid_handle_invalid_context
        - Src:             'services.c:1496,7'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:1498,2'
          Dst:             context_destroy
    - functionName:    sepol_member_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1521
      functionLinenumberEnd: 1522
      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:1522,9'
          Dst:             sepol_compute_sid
    - functionName:    sepol_transition_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1509
      functionLinenumberEnd: 1510
      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:1510,9'
          Dst:             sepol_compute_sid
    - functionName:    sepol_context_to_sid
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1320
      functionLinenumberEnd: 1343
      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:1324,6'
          Dst:             context_from_string
        - Src:             'services.c:1329,14'
          Dst:             sepol_sidtab_context_to_sid
        - Src:             'services.c:1332,2'
          Dst:             context_destroy
        - Src:             'services.c:1338,3'
          Dst:             context_destroy
    - functionName:    sepol_sid_to_context
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1299
      functionLinenumberEnd: 1311
      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:1303,12'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1309,7'
          Dst:             context_to_string
    - functionName:    sepol_av_perm_to_string
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1267
      functionLinenumberEnd: 1286
      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:1269,16'
          Dst:             sepol_av_to_string
        - Src:             'services.c:1275,9'
          Dst:             strlen
        - Src:             'services.c:1277,4'
          Dst:             strcpy
        - Src:             'services.c:1279,4'
          Dst:             sprintf
        - Src:             'services.c:1283,3'
          Dst:             sprintf
    - functionName:    sepol_string_to_av_perm
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1232
      functionLinenumberEnd: 1263
      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:1243,31'
          Dst:             hashtab_search
        - Src:             'services.c:1253,31'
          Dst:             hashtab_search
    - functionName:    sepol_string_to_security_class
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1214
      functionLinenumberEnd: 1224
      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:1217,17'
          Dst:             hashtab_search
    - functionName:    sepol_compute_av
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1202
      functionLinenumberEnd: 1204
      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:1204,9'
          Dst:             sepol_compute_av_reason
    - functionName:    sepol_compute_av_reason
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1129
      functionLinenumberEnd: 1149
      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:1133,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1139,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1146,7'
          Dst:             context_struct_compute_av
    - functionName:    sepol_compute_av_reason_buffer
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1164
      functionLinenumberEnd: 1195
      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:1168,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1174,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1192,7'
          Dst:             context_struct_compute_av
    - functionName:    sepol_validate_transition_reason_buffer
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1072
      functionLinenumberEnd: 1123
      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:1085,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1091,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1097,13'
          Dst:             sepol_sidtab_search
        - Src:             'services.c:1115,8'
          Dst:             constraint_expr_eval_reason
    - functionName:    sepol_set_policydb_from_file
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 156
      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:140,2'
          Dst:             policy_file_init
        - Src:             'services.c:144,3'
          Dst:             policydb_destroy
        - Src:             'services.c:145,6'
          Dst:             policydb_init
        - Src:             'services.c:149,6'
          Dst:             policydb_read
        - Src:             'services.c:150,3'
          Dst:             policydb_destroy
        - Src:             'services.c:155,9'
          Dst:             sepol_sidtab_init
    - functionName:    sepol_set_policydb
      functionSourceFile: '/src/selinux/libsepol/src/services.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 133
      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: 125
      functionLinenumberEnd: 127
      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: 106
      functionLinenumberEnd: 107
      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:107,36'
          Dst:             ebitmap_cmp
    - functionName:    mls_context_cmp
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 107
      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:106,10'
          Dst:             mls_level_eq
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:107,3'
          Dst:             mls_level_eq
    - functionName:    context_cmp
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 146
      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:146,29'
          Dst:             mls_context_cmp
    - functionName:    mls_range_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 147
      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:145,2'
          Dst:             mls_level_init
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:146,2'
          Dst:             mls_level_init
    - functionName:    mls_level_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 93
      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: 150
      functionLinenumberEnd: 153
      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:151,2'
          Dst:             mls_level_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:152,2'
          Dst:             mls_level_destroy
    - functionName:    mls_level_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 102
      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:100,2'
          Dst:             ebitmap_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:101,2'
          Dst:             mls_level_init
    - functionName:    mls_context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 117
      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:115,2'
          Dst:             mls_range_destroy
        - Src:             'DESTDIR/usr/include/sepol/policydb/context.h:116,2'
          Dst:             mls_context_init
    - functionName:    mls_level_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 88
      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:85,6'
          Dst:             ebitmap_cpy
    - functionName:    mls_range_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 141
      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:128,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:131,6'
          Dst:             mls_level_cpy
        - Src:             'DESTDIR/usr/include/sepol/policydb/mls_types.h:137,2'
          Dst:             mls_level_destroy
    - functionName:    mls_context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 52
      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:48,6'
          Dst:             mls_range_cpy
    - functionName:    sepol_sidtab_shutdown
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 289
      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: 275
      functionLinenumberEnd: 282
      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: 251
      functionLinenumberEnd: 272
      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:263,4'
          Dst:             context_destroy
    - functionName:    context_destroy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 140
      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:139,2'
          Dst:             mls_context_destroy
    - functionName:    sepol_sidtab_hash_eval
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 248
      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:246,2'
          Dst:             printf
    - functionName:    sepol_sidtab_search_context
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 187
      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:181,8'
          Dst:             context_cmp
    - functionName:    sepol_sidtab_context_to_sid
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 222
      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:197,8'
          Dst:             sepol_sidtab_search_context
        - Src:             'sidtab.c:201,9'
          Dst:             sepol_sidtab_search_context
        - Src:             'sidtab.c:210,9'
          Dst:             sepol_sidtab_insert
    - functionName:    sepol_sidtab_insert
      functionSourceFile: '/src/selinux/libsepol/src/sidtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 81
      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:56,3'
          Dst:             __errno_location
        - Src:             'sidtab.c:64,6'
          Dst:             context_cpy
    - functionName:    context_cpy
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/context.h'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 130
      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:130,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: 114
      functionLinenumberEnd: 131
      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: 84
      functionLinenumberEnd: 108
      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: 27
      functionLinenumberEnd: 36
      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:28,14'
          Dst:             calloc
    - functionName:    symtab_destroy
      functionSourceFile: '/src/selinux/libsepol/src/symtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 51
      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:49,3'
          Dst:             hashtab_destroy
    - functionName:    symcmp
      functionSourceFile: '/src/selinux/libsepol/src/symtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 32
      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:32,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: 36
      functionLinenumberEnd: 42
      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:37,13'
          Dst:             hashtab_create
        - Src:             'symtab.c:37,13'
          Dst:             symhash
        - Src:             'symtab.c:37,13'
          Dst:             symcmp
    - functionName:    tokenize_str
      functionSourceFile: '/src/selinux/libsepol/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 283
      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:251,7'
          Dst:             __ctype_b_loc
        - Src:             'util.c:252,7'
          Dst:             __ctype_b_loc
        - Src:             'util.c:255,15'
          Dst:             __ctype_b_loc
        - Src:             'util.c:271,9'
          Dst:             strndup
        - Src:             'util.c:277,26'
          Dst:             __ctype_b_loc
        - Src:             'util.c:278,9'
          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: 300
      functionLinenumberEnd: 333
      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:317,11'
          Dst:             strdup
        - Src:             'util.c:325,8'
          Dst:             tokenize_str
    - functionName:    sepol_extended_perms_to_string
      functionSourceFile: '/src/selinux/libsepol/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 236
      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:159,6'
          Dst:             realloc
        - Src:             'util.c:167,9'
          Dst:             snprintf
        - Src:             'util.c:169,9'
          Dst:             snprintf
        - Src:             'util.c:196,11'
          Dst:             snprintf
        - Src:             'util.c:199,11'
          Dst:             snprintf
        - Src:             'util.c:205,11'
          Dst:             snprintf
        - Src:             'util.c:209,11'
          Dst:             snprintf
        - Src:             'util.c:225,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: 88
      functionLinenumberEnd: 135
      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:101,6'
          Dst:             realloc
        - Src:             'util.c:111,9'
          Dst:             hashtab_map
        - Src:             'util.c:111,9'
          Dst:             perm_name
        - Src:             'util.c:114,10'
          Dst:             hashtab_map
        - Src:             'util.c:114,10'
          Dst:             perm_name
        - Src:             'util.c:119,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,21'
          Dst:             reallocarray
    - functionName:    range_write_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1488
      functionLinenumberEnd: 1526
      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:1512,10'
          Dst:             put_entry
        - Src:             'write.c:1517,11'
          Dst:             put_entry
        - Src:             'write.c:1521,7'
          Dst:             mls_write_range_helper
    - functionName:    mls_write_range_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 288
      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:269,7'
          Dst:             mls_level_eq
        - Src:             'write.c:277,11'
          Dst:             put_entry
        - Src:             'write.c:281,6'
          Dst:             ebitmap_write
        - Src:             'write.c:284,7'
          Dst:             ebitmap_write
    - functionName:    mls_level_eq
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/mls_types.h'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 107
      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:107,36'
          Dst:             ebitmap_cmp
    - functionName:    ebitmap_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 93
      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: 1474
      functionLinenumberEnd: 1484
      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: 720
      functionLinenumberEnd: 736
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          104
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - mls_write_range_helper
        - put_entry
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:728,11'
          Dst:             put_entry
        - Src:             'write.c:732,7'
          Dst:             mls_write_range_helper
    - functionName:    ocontext_write_xen
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1155
      functionLinenumberEnd: 1264
      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:1176,4'
          Branch Sides:    []
      Callsites:
        - Src:             'write.c:1172,11'
          Dst:             put_entry
        - Src:             'write.c:1181,13'
          Dst:             put_entry
        - Src:             'write.c:1184,9'
          Dst:             context_write
        - Src:             'write.c:1189,13'
          Dst:             put_entry
        - Src:             'write.c:1192,9'
          Dst:             context_write
        - Src:             'write.c:1200,13'
          Dst:             put_entry
        - Src:             'write.c:1203,9'
          Dst:             context_write
        - Src:             'write.c:1214,14'
          Dst:             put_entry
        - Src:             'write.c:1232,14'
          Dst:             put_entry
        - Src:             'write.c:1237,9'
          Dst:             context_write
        - Src:             'write.c:1242,13'
          Dst:             put_entry
        - Src:             'write.c:1245,9'
          Dst:             context_write
        - Src:             'write.c:1249,11'
          Dst:             strlen
        - Src:             'write.c:1251,13'
          Dst:             put_entry
        - Src:             'write.c:1254,13'
          Dst:             put_entry
        - Src:             'write.c:1257,9'
          Dst:             context_write
    - functionName:    ocontext_write_selinux
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1268
      functionLinenumberEnd: 1399
      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:1289,4'
          Branch Sides:    []
      Callsites:
        - Src:             'write.c:1285,11'
          Dst:             put_entry
        - Src:             'write.c:1294,13'
          Dst:             put_entry
        - Src:             'write.c:1297,9'
          Dst:             context_write
        - Src:             'write.c:1302,11'
          Dst:             strlen
        - Src:             'write.c:1304,13'
          Dst:             put_entry
        - Src:             'write.c:1307,13'
          Dst:             put_entry
        - Src:             'write.c:1310,9'
          Dst:             context_write
        - Src:             'write.c:1312,9'
          Dst:             context_write
        - Src:             'write.c:1323,13'
          Dst:             put_entry
        - Src:             'write.c:1327,9'
          Dst:             context_write
        - Src:             'write.c:1331,11'
          Dst:             strlen
        - Src:             'write.c:1334,13'
          Dst:             put_entry
        - Src:             'write.c:1337,13'
          Dst:             put_entry
        - Src:             'write.c:1342,9'
          Dst:             context_write
        - Src:             'write.c:1352,13'
          Dst:             put_entry
        - Src:             'write.c:1355,9'
          Dst:             context_write
        - Src:             'write.c:1361,13'
          Dst:             put_entry
        - Src:             'write.c:1364,9'
          Dst:             context_write
        - Src:             'write.c:1369,11'
          Dst:             strlen
        - Src:             'write.c:1371,13'
          Dst:             put_entry
        - Src:             'write.c:1374,13'
          Dst:             put_entry
        - Src:             'write.c:1377,9'
          Dst:             context_write
        - Src:             'write.c:1389,13'
          Dst:             put_entry
        - Src:             'write.c:1392,9'
          Dst:             context_write
    - functionName:    only_process
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1680
      functionLinenumberEnd: 1694
      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:1689,2'
          Dst:             ebitmap_start
        - Src:             'write.c:1689,2'
          Dst:             ebitmap_node_get_bit
        - Src:             'write.c:1689,2'
          Dst:             ebitmap_next
    - functionName:    ebitmap_start
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_node_get_bit
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ebitmap_next
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    scope_index_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1843
      functionLinenumberEnd: 1861
      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:1847,7'
          Dst:             ebitmap_write
        - Src:             'write.c:1852,6'
          Dst:             put_entry
        - Src:             'write.c:1856,7'
          Dst:             ebitmap_write
    - functionName:    range_trans_rule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1815
      functionLinenumberEnd: 1838
      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:1824,10'
          Dst:             put_entry
        - Src:             'write.c:1828,7'
          Dst:             type_set_write
        - Src:             'write.c:1830,7'
          Dst:             type_set_write
        - Src:             'write.c:1832,7'
          Dst:             ebitmap_write
        - Src:             'write.c:1834,7'
          Dst:             mls_write_semantic_range_helper
    - functionName:    type_set_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 557
      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:546,6'
          Dst:             ebitmap_write
        - Src:             'write.c:548,6'
          Dst:             ebitmap_write
        - Src:             'write.c:552,10'
          Dst:             put_entry
    - functionName:    mls_write_semantic_range_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 237
      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:230,7'
          Dst:             mls_write_semantic_level_helper
        - Src:             'write.c:234,7'
          Dst:             mls_write_semantic_level_helper
    - functionName:    mls_write_semantic_level_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 219
      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:206,10'
          Dst:             put_entry
        - Src:             'write.c:213,11'
          Dst:             put_entry
    - functionName:    filename_trans_rule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1763
      functionLinenumberEnd: 1812
      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:1773,10'
          Dst:             put_entry
        - Src:             'write.c:1778,9'
          Dst:             strlen
        - Src:             'write.c:1780,11'
          Dst:             put_entry
        - Src:             'write.c:1784,11'
          Dst:             put_entry
        - Src:             'write.c:1788,7'
          Dst:             type_set_write
        - Src:             'write.c:1790,7'
          Dst:             type_set_write
        - Src:             'write.c:1807,11'
          Dst:             put_entry
    - functionName:    role_allow_rule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1740
      functionLinenumberEnd: 1759
      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:1749,10'
          Dst:             put_entry
        - Src:             'write.c:1753,7'
          Dst:             role_set_write
        - Src:             'write.c:1755,7'
          Dst:             role_set_write
    - functionName:    role_set_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 526
      functionLinenumberEnd: 539
      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:530,6'
          Dst:             ebitmap_write
        - Src:             'write.c:534,10'
          Dst:             put_entry
    - functionName:    role_trans_rule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1698
      functionLinenumberEnd: 1737
      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:1707,19'
          Dst:             only_process
        - Src:             'write.c:1711,10'
          Dst:             put_entry
        - Src:             'write.c:1715,21'
          Dst:             only_process
        - Src:             'write.c:1724,7'
          Dst:             role_set_write
        - Src:             'write.c:1726,7'
          Dst:             type_set_write
        - Src:             'write.c:1729,8'
          Dst:             ebitmap_write
        - Src:             'write.c:1732,11'
          Dst:             put_entry
    - functionName:    avrule_decl_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1865
      functionLinenumberEnd: 1905
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          242
      EdgeCount:       48
      CyclomaticComplexity: 15
      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:1871,6'
          Dst:             put_entry
        - Src:             'write.c:1874,6'
          Dst:             cond_write_list
        - Src:             'write.c:1875,6'
          Dst:             avrule_write_list
        - Src:             'write.c:1876,6'
          Dst:             role_trans_rule_write
        - Src:             'write.c:1877,6'
          Dst:             role_allow_rule_write
        - Src:             'write.c:1882,6'
          Dst:             filename_trans_rule_write
        - Src:             'write.c:1885,6'
          Dst:             range_trans_rule_write
        - Src:             'write.c:1888,6'
          Dst:             scope_index_write
        - Src:             'write.c:1889,6'
          Dst:             scope_index_write
        - Src:             'write.c:1897,7'
          Dst:             put_entry
        - Src:             'write.c:1900,7'
          Dst:             hashtab_map
    - functionName:    cond_write_list
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 694
      functionLinenumberEnd: 712
      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:703,10'
          Dst:             put_entry
        - Src:             'write.c:708,7'
          Dst:             cond_write_node
    - functionName:    avrule_write_list
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1654
      functionLinenumberEnd: 1677
      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:1666,6'
          Dst:             put_entry
        - Src:             'write.c:1671,7'
          Dst:             avrule_write
    - functionName:    common_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 770
      functionLinenumberEnd: 797
      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:779,8'
          Dst:             strlen
        - Src:             'write.c:785,11'
          Dst:             put_entry
        - Src:             'write.c:789,10'
          Dst:             put_entry
        - Src:             'write.c:793,6'
          Dst:             hashtab_map
        - Src:             'write.c:793,6'
          Dst:             perm_write
    - functionName:    class_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 851
      functionLinenumberEnd: 953
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         88
      ICount:          621
      EdgeCount:       119
      CyclomaticComplexity: 33
      functionsReached:
        - hashtab_map
        - perm_write
        - put_entry
        - strlen
        - write_cons_helper
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:862,8'
          Dst:             strlen
        - Src:             'write.c:864,10'
          Dst:             strlen
        - Src:             'write.c:883,11'
          Dst:             put_entry
        - Src:             'write.c:887,10'
          Dst:             put_entry
        - Src:             'write.c:892,11'
          Dst:             put_entry
        - Src:             'write.c:896,6'
          Dst:             hashtab_map
        - Src:             'write.c:896,6'
          Dst:             perm_write
        - Src:             'write.c:899,6'
          Dst:             write_cons_helper
        - Src:             'write.c:910,11'
          Dst:             put_entry
        - Src:             'write.c:913,7'
          Dst:             write_cons_helper
        - Src:             'write.c:937,11'
          Dst:             put_entry
        - Src:             'write.c:947,11'
          Dst:             put_entry
    - functionName:    role_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 956
      functionLinenumberEnd: 1031
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          274
      EdgeCount:       57
      CyclomaticComplexity: 18
      functionsReached:
        - ebitmap_init
        - ebitmap_write
        - put_entry
        - strlen
        - type_set_write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:979,8'
          Dst:             strlen
        - Src:             'write.c:984,11'
          Dst:             put_entry
        - Src:             'write.c:988,10'
          Dst:             put_entry
        - Src:             'write.c:992,6'
          Dst:             ebitmap_write
        - Src:             'write.c:1007,4'
          Dst:             ebitmap_init
        - Src:             'write.c:1008,8'
          Dst:             ebitmap_write
        - Src:             'write.c:1011,8'
          Dst:             ebitmap_write
        - Src:             'write.c:1015,7'
          Dst:             type_set_write
        - Src:             'write.c:1022,11'
          Dst:             put_entry
        - Src:             'write.c:1026,7'
          Dst:             ebitmap_write
    - functionName:    type_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1034
      functionLinenumberEnd: 1098
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          370
      EdgeCount:       73
      CyclomaticComplexity: 21
      functionsReached:
        - ebitmap_write
        - put_entry
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1044,8'
          Dst:             strlen
        - Src:             'write.c:1084,11'
          Dst:             put_entry
        - Src:             'write.c:1089,7'
          Dst:             ebitmap_write
        - Src:             'write.c:1093,10'
          Dst:             put_entry
    - functionName:    user_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1101
      functionLinenumberEnd: 1145
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          200
      EdgeCount:       36
      CyclomaticComplexity: 12
      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:1111,8'
          Dst:             strlen
        - Src:             'write.c:1116,11'
          Dst:             put_entry
        - Src:             'write.c:1120,10'
          Dst:             put_entry
        - Src:             'write.c:1125,7'
          Dst:             ebitmap_write
        - Src:             'write.c:1128,7'
          Dst:             role_set_write
        - Src:             'write.c:1133,7'
          Dst:             mls_write_range_helper
        - Src:             'write.c:1135,7'
          Dst:             mls_write_level
        - Src:             'write.c:1138,7'
          Dst:             mls_write_semantic_range_helper
        - Src:             'write.c:1140,7'
          Dst:             mls_write_semantic_level_helper
    - functionName:    cond_write_bool
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 591
      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:570,8'
          Dst:             strlen
        - Src:             'write.c:575,11'
          Dst:             put_entry
        - Src:             'write.c:578,10'
          Dst:             put_entry
        - Src:             'write.c:585,11'
          Dst:             put_entry
    - functionName:    sens_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 316
      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:300,8'
          Dst:             strlen
        - Src:             'write.c:304,11'
          Dst:             put_entry
        - Src:             'write.c:308,10'
          Dst:             put_entry
        - Src:             'write.c:312,6'
          Dst:             mls_write_level
    - functionName:    cat_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 342
      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:328,8'
          Dst:             strlen
        - Src:             'write.c:333,11'
          Dst:             put_entry
        - Src:             'write.c:337,10'
          Dst:             put_entry
    - functionName:    mls_write_level
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 257
      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:249,10'
          Dst:             put_entry
        - Src:             'write.c:253,6'
          Dst:             ebitmap_write
    - functionName:    ebitmap_init
      functionSourceFile: '/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      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: 745
      functionLinenumberEnd: 767
      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:754,8'
          Dst:             strlen
        - Src:             'write.c:758,11'
          Dst:             put_entry
        - Src:             'write.c:762,10'
          Dst:             put_entry
    - functionName:    write_cons_helper
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 801
      functionLinenumberEnd: 848
      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:825,4'
          Branch Sides:    []
      Callsites:
        - Src:             'write.c:814,11'
          Dst:             put_entry
        - Src:             'write.c:821,12'
          Dst:             put_entry
        - Src:             'write.c:829,9'
          Dst:             ebitmap_write
        - Src:             'write.c:833,10'
          Dst:             type_set_write
        - Src:             'write.c:837,10'
          Dst:             type_set_write
    - functionName:    avrule_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1556
      functionLinenumberEnd: 1650
      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:1571,11'
          Dst:             put_entry
        - Src:             'write.c:1575,6'
          Dst:             type_set_write
        - Src:             'write.c:1578,6'
          Dst:             type_set_write
        - Src:             'write.c:1589,11'
          Dst:             put_entry
        - Src:             'write.c:1597,12'
          Dst:             put_entry
        - Src:             'write.c:1635,11'
          Dst:             put_entry
        - Src:             'write.c:1639,11'
          Dst:             put_entry
        - Src:             'write.c:1644,11'
          Dst:             put_entry
    - functionName:    cond_write_node
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 639
      functionLinenumberEnd: 690
      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:645,10'
          Dst:             put_entry
        - Src:             'write.c:655,10'
          Dst:             put_entry
        - Src:             'write.c:664,12'
          Dst:             put_entry
        - Src:             'write.c:670,7'
          Dst:             cond_write_av_list
        - Src:             'write.c:672,7'
          Dst:             cond_write_av_list
        - Src:             'write.c:675,7'
          Dst:             avrule_write_list
        - Src:             'write.c:677,7'
          Dst:             avrule_write_list
        - Src:             'write.c:684,11'
          Dst:             put_entry
    - functionName:    cond_write_av_list
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 634
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          131
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - avtab_write_item
        - put_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:617,10'
          Dst:             put_entry
        - Src:             'write.c:628,8'
          Dst:             avtab_write_item
    - functionName:    avtab_write_item
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          472
      EdgeCount:       93
      CyclomaticComplexity: 25
      functionsReached:
        - put_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:109,10'
          Dst:             put_entry
        - Src:             'write.c:141,11'
          Dst:             put_entry
        - Src:             'write.c:145,11'
          Dst:             put_entry
        - Src:             'write.c:150,11'
          Dst:             put_entry
        - Src:             'write.c:155,11'
          Dst:             put_entry
    - functionName:    filename_write_one
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 495
      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:457,8'
          Dst:             strlen
        - Src:             'write.c:459,10'
          Dst:             put_entry
        - Src:             'write.c:463,10'
          Dst:             put_entry
        - Src:             'write.c:477,10'
          Dst:             put_entry
        - Src:             'write.c:483,7'
          Dst:             ebitmap_write
        - Src:             'write.c:487,11'
          Dst:             put_entry
    - functionName:    filename_write_one_compat
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 447
      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:422,8'
          Dst:             strlen
        - Src:             'write.c:424,3'
          Dst:             ebitmap_start
        - Src:             'write.c:424,3'
          Dst:             ebitmap_node_get_bit
        - Src:             'write.c:426,12'
          Dst:             put_entry
        - Src:             'write.c:430,12'
          Dst:             put_entry
        - Src:             'write.c:438,12'
          Dst:             put_entry
        - Src:             'write.c:424,3'
          Dst:             ebitmap_next
    - functionName:    range_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1529
      functionLinenumberEnd: 1550
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          82
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - hashtab_map
        - put_entry
        - range_write_helper
        - rangetrans_count
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1540,7'
          Dst:             hashtab_map
        - Src:             'write.c:1540,7'
          Dst:             rangetrans_count
        - Src:             'write.c:1545,10'
          Dst:             put_entry
        - Src:             'write.c:1549,9'
          Dst:             hashtab_map
        - Src:             'write.c:1549,9'
          Dst:             range_write_helper
    - functionName:    genfs_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1417
      functionLinenumberEnd: 1463
      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:1426,10'
          Dst:             put_entry
        - Src:             'write.c:1430,9'
          Dst:             strlen
        - Src:             'write.c:1432,11'
          Dst:             put_entry
        - Src:             'write.c:1435,11'
          Dst:             put_entry
        - Src:             'write.c:1442,11'
          Dst:             put_entry
        - Src:             'write.c:1446,10'
          Dst:             strlen
        - Src:             'write.c:1448,12'
          Dst:             put_entry
        - Src:             'write.c:1451,12'
          Dst:             put_entry
        - Src:             'write.c:1455,12'
          Dst:             put_entry
        - Src:             'write.c:1458,8'
          Dst:             context_write
    - functionName:    ocontext_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1403
      functionLinenumberEnd: 1413
      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:1405,2'
          Branch Sides:    []
      Callsites:
        - Src:             'write.c:1407,8'
          Dst:             ocontext_write_selinux
        - Src:             'write.c:1410,8'
          Dst:             ocontext_write_xen
    - functionName:    scope_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1944
      functionLinenumberEnd: 1983
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          164
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - put_entry
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:1949,19'
          Dst:             strlen
        - Src:             'write.c:1960,13'
          Dst:             calloc
        - Src:             'write.c:1968,6'
          Dst:             put_entry
        - Src:             'write.c:1969,6'
          Dst:             put_entry
        - Src:             'write.c:1978,6'
          Dst:             put_entry
    - functionName:    avrule_block_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1909
      functionLinenumberEnd: 1941
      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:1917,6'
          Dst:             put_entry
        - Src:             'write.c:1930,7'
          Dst:             put_entry
        - Src:             'write.c:1934,8'
          Dst:             avrule_decl_write
    - functionName:    filename_trans_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 523
      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:508,11'
          Dst:             put_entry
        - Src:             'write.c:512,8'
          Dst:             hashtab_map
        - Src:             'write.c:512,8'
          Dst:             filename_write_one_compat
        - Src:             'write.c:516,11'
          Dst:             put_entry
        - Src:             'write.c:520,8'
          Dst:             hashtab_map
        - Src:             'write.c:520,8'
          Dst:             filename_write_one
    - functionName:    role_allow_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 411
      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:400,10'
          Dst:             put_entry
        - Src:             'write.c:406,11'
          Dst:             put_entry
    - functionName:    role_trans_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 388
      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:360,10'
          Dst:             put_entry
        - Src:             'write.c:376,11'
          Dst:             put_entry
        - Src:             'write.c:381,12'
          Dst:             put_entry
    - functionName:    avtab_write
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          98
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - avtab_write_item
        - put_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:172,10'
          Dst:             put_entry
        - Src:             'write.c:178,8'
          Dst:             avtab_write_item
    - functionName:    role_attr_uncount
      functionSourceFile: '/src/selinux/libsepol/src/write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1988
      functionLinenumberEnd: 1996
      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: 2005
      functionLinenumberEnd: 2188
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         146
      ICount:          998
      EdgeCount:       199
      CyclomaticComplexity: 55
      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
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'write.c:2029,9'
          Dst:             strlen
        - Src:             'write.c:2037,11'
          Dst:             put_entry
        - Src:             'write.c:2040,10'
          Dst:             put_entry
        - Src:             'write.c:2046,9'
          Dst:             policydb_lookup_compat
        - Src:             'write.c:2066,11'
          Dst:             put_entry
        - Src:             'write.c:2072,9'
          Dst:             strlen
        - Src:             'write.c:2074,11'
          Dst:             put_entry
        - Src:             'write.c:2077,11'
          Dst:             put_entry
        - Src:             'write.c:2080,9'
          Dst:             strlen
        - Src:             'write.c:2082,11'
          Dst:             put_entry
        - Src:             'write.c:2085,11'
          Dst:             put_entry
        - Src:             'write.c:2090,6'
          Dst:             ebitmap_write
        - Src:             'write.c:2094,7'
          Dst:             ebitmap_write
        - Src:             'write.c:2100,4'
          Dst:             ebitmap_start
        - Src:             'write.c:2100,4'
          Dst:             ebitmap_node_get_bit
        - Src:             'write.c:2100,4'
          Dst:             ebitmap_next
        - Src:             'write.c:2108,14'
          Dst:             ebitmap_write
        - Src:             'write.c:2127,10'
          Dst:             hashtab_map
        - Src:             'write.c:2127,10'
          Dst:             role_attr_uncount
        - Src:             'write.c:2131,11'
          Dst:             put_entry
        - Src:             'write.c:2134,7'
          Dst:             hashtab_map
        - Src:             'write.c:2139,7'
          Dst:             avtab_write
        - Src:             'write.c:2141,7'
          Dst:             cond_write_list
        - Src:             'write.c:2143,7'
          Dst:             role_trans_write
        - Src:             'write.c:2145,7'
          Dst:             role_allow_write
        - Src:             'write.c:2148,8'
          Dst:             filename_trans_write
        - Src:             'write.c:2156,7'
          Dst:             avrule_block_write
        - Src:             'write.c:2162,8'
          Dst:             put_entry
        - Src:             'write.c:2165,8'
          Dst:             hashtab_map
        - Src:             'write.c:2165,8'
          Dst:             scope_write
        - Src:             'write.c:2170,6'
          Dst:             ocontext_write
        - Src:             'write.c:2170,43'
          Dst:             genfs_write
        - Src:             'write.c:2175,7'
          Dst:             range_write
        - Src:             'write.c:2182,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: 991
      functionLinenumberEnd: 993
      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:992,9'
          Dst:             link_modules
    - functionName:    write_helper
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 849
      functionLinenumberEnd: 866
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          73
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - put_entry
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:859,7'
          Dst:             put_entry
    - functionName:    sepol_module_package_write
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 870
      functionLinenumberEnd: 987
      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:878,3'
          Dst:             policy_file_init
        - Src:             'module.c:881,7'
          Dst:             policydb_write
        - Src:             'module.c:916,6'
          Dst:             put_entry
        - Src:             'module.c:949,6'
          Dst:             put_entry
        - Src:             'module.c:954,6'
          Dst:             policydb_write
        - Src:             'module.c:959,7'
          Dst:             put_entry
        - Src:             'module.c:961,7'
          Dst:             write_helper
        - Src:             'module.c:966,7'
          Dst:             put_entry
        - Src:             'module.c:968,7'
          Dst:             write_helper
        - Src:             'module.c:973,7'
          Dst:             put_entry
        - Src:             'module.c:975,7'
          Dst:             write_helper
        - Src:             'module.c:980,7'
          Dst:             put_entry
        - Src:             'module.c:982,7'
          Dst:             write_helper
    - functionName:    sepol_module_package_info
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 846
      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:701,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module.c:667,6'
          Dst:             sepol_module_package_create
        - Src:             'module.c:670,6'
          Dst:             module_package_read_offsets
        - Src:             'module.c:675,7'
          Dst:             policy_file_seek
        - Src:             'module.c:693,8'
          Dst:             next_entry
        - Src:             'module.c:764,9'
          Dst:             next_entry
        - Src:             'module.c:773,9'
          Dst:             next_entry
        - Src:             'module.c:796,9'
          Dst:             next_entry
        - Src:             'module.c:805,8'
          Dst:             str_read
        - Src:             'module.c:812,9'
          Dst:             next_entry
        - Src:             'module.c:820,8'
          Dst:             str_read
        - Src:             'module.c:838,2'
          Dst:             sepol_module_package_free
        - Src:             'module.c:843,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: 380
      functionLinenumberEnd: 461
      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:392,7'
          Dst:             next_entry
        - Src:             'module.c:413,18'
          Dst:             calloc
        - Src:             'module.c:420,8'
          Dst:             calloc
        - Src:             'module.c:425,7'
          Dst:             next_entry
        - Src:             'module.c:442,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: 139
      functionLinenumberEnd: 149
      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:143,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: 352
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - next_entry
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:364,8'
          Dst:             next_entry
    - functionName:    sepol_module_package_read
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 654
      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:512,3'
          Branch Sides:    []
      Callsites:
        - Src:             'module.c:479,6'
          Dst:             module_package_read_offsets
        - Src:             'module.c:485,7'
          Dst:             policy_file_seek
        - Src:             'module.c:504,8'
          Dst:             next_entry
        - Src:             'module.c:528,8'
          Dst:             read_helper
        - Src:             'module.c:553,8'
          Dst:             read_helper
        - Src:             'module.c:576,8'
          Dst:             read_helper
        - Src:             'module.c:602,8'
          Dst:             read_helper
        - Src:             'module.c:622,8'
          Dst:             policy_file_seek
        - Src:             'module.c:625,9'
          Dst:             policydb_read
    - functionName:    link_netfilter_contexts
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          148
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:292,30'
          Dst:             realloc
    - functionName:    link_file_contexts
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          130
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'module.c:257,19'
          Dst:             realloc
    - functionName:    sepol_link_packages
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 347
      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:319,18'
          Dst:             calloc
        - Src:             'module.c:327,11'
          Dst:             link_modules
        - Src:             'module.c:336,6'
          Dst:             link_file_contexts
        - Src:             'module.c:341,6'
          Dst:             link_netfilter_contexts
    - functionName:    sepol_module_package_get_policy
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 234
      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: 224
      functionLinenumberEnd: 230
      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:225,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: 214
      functionLinenumberEnd: 220
      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:215,6'
          Dst:             set_char
    - functionName:    sepol_module_package_set_seusers
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 210
      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:205,6'
          Dst:             set_char
    - functionName:    sepol_module_package_set_file_contexts
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 200
      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:195,6'
          Dst:             set_char
    - functionName:    sepol_module_package_get_netfilter_contexts_len
      functionSourceFile: '/src/selinux/libsepol/src/module.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 189
      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: 182
      functionLinenumberEnd: 183
      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: 177
      functionLinenumberEnd: 178
      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: 172
      functionLinenumberEnd: 173
      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: 167
      functionLinenumberEnd: 168
      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: 162
      functionLinenumberEnd: 163
      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: 157
      functionLinenumberEnd: 158
      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: 152
      functionLinenumberEnd: 153
      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: 35
      functionLinenumberEnd: 99
      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:42,2'
          Dst:             policy_file_init
        - Src:             'policydb_convert.c:45,6'
          Dst:             policydb_write
        - Src:             'policydb_convert.c:47,3'
          Dst:             __errno_location
        - Src:             'policydb_convert.c:64,6'
          Dst:             policydb_write
        - Src:             'policydb_convert.c:66,3'
          Dst:             __errno_location
        - Src:             'policydb_convert.c:74,6'
          Dst:             policydb_init
        - Src:             'policydb_convert.c:76,3'
          Dst:             __errno_location
        - Src:             'policydb_convert.c:79,6'
          Dst:             policydb_read
        - Src:             'policydb_convert.c:81,3'
          Dst:             __errno_location
        - Src:             'policydb_convert.c:84,2'
          Dst:             policydb_destroy
    - functionName:    policydb_from_image
      functionSourceFile: '/src/selinux/libsepol/src/policydb_convert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 12
      functionLinenumberEnd: 29
      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:15,2'
          Dst:             policy_file_init
        - Src:             'policydb_convert.c:21,6'
          Dst:             policydb_read
        - Src:             'policydb_convert.c:22,3'
          Dst:             policydb_destroy
        - Src:             'policydb_convert.c:24,3'
          Dst:             __errno_location
...
