---
Fuzzer filename: '/src/fuzz_util.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/fuzz_util.c'
      linkageType:     externalLinkage
      functionLinenumber: 15
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          121
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - canonicalise
        - gb_cleanup
        - gb_get_len_null_terminated
        - gb_init
        - hostname_isequal
        - hostname_issubdomain
        - init_daemon
        - is_name_synthetic
        - legal_hostname
        - parse_hex
        - strlen
        - wildcard_match
        - wildcard_matchn
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_util.c:17,3'
          Dst:             gb_init
        - Src:             'fuzz_util.c:19,14'
          Dst:             init_daemon
        - Src:             'fuzz_util.c:21,16'
          Dst:             gb_get_len_null_terminated
        - Src:             'fuzz_util.c:22,16'
          Dst:             gb_get_len_null_terminated
        - Src:             'fuzz_util.c:26,7'
          Dst:             hostname_isequal
        - Src:             'fuzz_util.c:28,7'
          Dst:             legal_hostname
        - Src:             'fuzz_util.c:29,19'
          Dst:             canonicalise
        - Src:             'fuzz_util.c:36,7'
          Dst:             parse_hex
        - Src:             'fuzz_util.c:37,7'
          Dst:             parse_hex
        - Src:             'fuzz_util.c:40,7'
          Dst:             wildcard_match
        - Src:             'fuzz_util.c:41,11'
          Dst:             strlen
        - Src:             'fuzz_util.c:41,24'
          Dst:             strlen
        - Src:             'fuzz_util.c:42,33'
          Dst:             strlen
        - Src:             'fuzz_util.c:42,9'
          Dst:             wildcard_matchn
        - Src:             'fuzz_util.c:44,33'
          Dst:             strlen
        - Src:             'fuzz_util.c:44,9'
          Dst:             wildcard_matchn
        - Src:             'fuzz_util.c:46,7'
          Dst:             hostname_issubdomain
        - Src:             'fuzz_util.c:50,7'
          Dst:             is_name_synthetic
        - Src:             'fuzz_util.c:63,3'
          Dst:             gb_cleanup
    - functionName:    gb_init
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          27
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_daemon
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         151
      ICount:          1111
      EdgeCount:       219
      CyclomaticComplexity: 70
      functionsReached:
        - gb_alloc_data
        - gb_get_len_null_terminated
        - gb_get_null_terminated
        - gb_get_random_data
        - get_int
        - get_short
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_header.h:241,28'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:245,21'
          Dst:             get_int
        - Src:             'fuzz_header.h:246,21'
          Dst:             get_int
        - Src:             'fuzz_header.h:247,23'
          Dst:             get_int
        - Src:             'fuzz_header.h:248,27'
          Dst:             get_int
        - Src:             'fuzz_header.h:251,27'
          Dst:             gb_get_len_null_terminated
        - Src:             'fuzz_header.h:255,44'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:256,22'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:257,25'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:258,24'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:259,26'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:260,23'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:278,63'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:280,20'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:281,20'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:288,51'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:290,23'
          Dst:             get_int
        - Src:             'fuzz_header.h:291,27'
          Dst:             get_int
        - Src:             'fuzz_header.h:301,17'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:306,47'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:307,23'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:315,61'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:316,19'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:317,21'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:327,23'
          Dst:             get_int
        - Src:             'fuzz_header.h:328,24'
          Dst:             get_int
        - Src:             'fuzz_header.h:329,26'
          Dst:             get_int
        - Src:             'fuzz_header.h:330,25'
          Dst:             get_int
        - Src:             'fuzz_header.h:339,56'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:340,28'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:341,26'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:349,25'
          Dst:             get_short
        - Src:             'fuzz_header.h:353,55'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:354,27'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:355,25'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:363,24'
          Dst:             get_short
        - Src:             'fuzz_header.h:372,47'
          Dst:             gb_get_random_data
        - Src:             'fuzz_header.h:373,24'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:383,49'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:384,24'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:389,7'
          Dst:             strlen
        - Src:             'fuzz_header.h:394,25'
          Dst:             strlen
        - Src:             'fuzz_header.h:400,55'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:402,30'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:407,7'
          Dst:             strlen
        - Src:             'fuzz_header.h:412,25'
          Dst:             strlen
        - Src:             'fuzz_header.h:420,37'
          Dst:             gb_get_random_data
        - Src:             'fuzz_header.h:421,22'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:432,42'
          Dst:             gb_get_random_data
        - Src:             'fuzz_header.h:433,27'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:444,44'
          Dst:             gb_get_random_data
        - Src:             'fuzz_header.h:445,29'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:456,41'
          Dst:             gb_get_random_data
        - Src:             'fuzz_header.h:457,23'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:468,49'
          Dst:             gb_get_random_data
        - Src:             'fuzz_header.h:469,21'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:481,37'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:482,23'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:483,24'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:495,49'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:498,20'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:508,57'
          Dst:             gb_get_random_data
        - Src:             'fuzz_header.h:510,26'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:512,59'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:513,26'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:530,58'
          Dst:             gb_get_random_data
        - Src:             'fuzz_header.h:532,27'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:534,60'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:535,27'
          Dst:             gb_get_null_terminated
        - Src:             'fuzz_header.h:554,21'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:555,22'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:556,22'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:569,48'
          Dst:             gb_alloc_data
        - Src:             'fuzz_header.h:579,45'
          Dst:             gb_alloc_data
    - functionName:    gb_get_len_null_terminated
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_len_null_terminated
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_header.h:88,16'
          Dst:             get_len_null_terminated
    - 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:    181
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gb_cleanup
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_len_null_terminated
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gb_alloc_data
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - calloc
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_header.h:96,15'
          Dst:             calloc
    - functionName:    get_int
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          42
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gb_get_null_terminated
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_null_terminated
      functionUses:    29
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_header.h:78,16'
          Dst:             get_null_terminated
    - functionName:    get_short
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          41
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gb_get_random_data
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_null_terminated
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_len_null_terminated
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_header.h:57,10'
          Dst:             get_len_null_terminated
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzz_recvmsg
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          207
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzz_ioctl
      functionSourceFile: '/src/fuzz_header.h'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          171
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - gb_get_random_data
        - ioctl
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_header.h:136,21'
          Dst:             gb_get_random_data
        - Src:             'fuzz_header.h:173,16'
          Dst:             ioctl
    - functionName:    ioctl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    do_tcp_connection
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1944
      functionLinenumberEnd: 2145
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         92
      ICount:          573
      EdgeCount:       122
      CyclomaticComplexity: 32
      functionsReached:
        - __errno_location
        - _exit
        - accept
        - alarm
        - close
        - enumerate_interfaces
        - fcntl64
        - flush_log
        - fork
        - getsockname
        - indextoname
        - loopback_exception
        - pipe
        - read_write
        - retry_send
        - shutdown
        - sockaddr_isequal
        - tcp_interface
        - tcp_request
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1959,19'
          Dst:             accept
        - Src:             'dnsmasq.c:1959,65'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:1964,7'
          Dst:             getsockname
        - Src:             'dnsmasq.c:1967,7'
          Dst:             shutdown
        - Src:             'dnsmasq.c:1968,7'
          Dst:             close
        - Src:             'dnsmasq.c:1983,3'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:1993,23'
          Dst:             tcp_interface
        - Src:             'dnsmasq.c:1994,4'
          Dst:             indextoname
        - Src:             'dnsmasq.c:2008,19'
          Dst:             loopback_exception
        - Src:             'dnsmasq.c:2023,10'
          Dst:             sockaddr_isequal
        - Src:             'dnsmasq.c:2036,11'
          Dst:             pipe
        - Src:             'dnsmasq.c:2039,16'
          Dst:             fork
        - Src:             'dnsmasq.c:2042,4'
          Dst:             close
        - Src:             'dnsmasq.c:2043,4'
          Dst:             close
        - Src:             'dnsmasq.c:2050,4'
          Dst:             close
        - Src:             'dnsmasq.c:2067,4'
          Dst:             read_write
        - Src:             'dnsmasq.c:2077,4'
          Dst:             close
        - Src:             'dnsmasq.c:2108,7'
          Dst:             close
        - Src:             'dnsmasq.c:2109,7'
          Dst:             read_write
        - Src:             'dnsmasq.c:2111,7'
          Dst:             alarm
        - Src:             'dnsmasq.c:2112,7'
          Dst:             close
        - Src:             'dnsmasq.c:2119,16'
          Dst:             fcntl64
        - Src:             'dnsmasq.c:2120,22'
          Dst:             fcntl64
        - Src:             'dnsmasq.c:2120,11'
          Dst:             retry_send
        - Src:             'dnsmasq.c:2122,10'
          Dst:             tcp_request
        - Src:             'dnsmasq.c:2130,2'
          Dst:             shutdown
        - Src:             'dnsmasq.c:2131,2'
          Dst:             close
        - Src:             'dnsmasq.c:2141,7'
          Dst:             close
        - Src:             'dnsmasq.c:2142,7'
          Dst:             flush_log
        - Src:             'dnsmasq.c:2143,7'
          Dst:             _exit
    - functionName:    accept
      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:    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:    94
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getsockname
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    shutdown
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      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:    54
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pipe
      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:    fork
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alarm
      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:    fcntl64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      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:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    delay_dhcp
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2348
      functionLinenumberEnd: 2429
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - size_t
        - int
        - int
        - int
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          270
      EdgeCount:       66
      CyclomaticComplexity: 19
      functionsReached:
        - check_dns_listeners
        - check_log_writer
        - check_tftp_listeners
        - difftime
        - dnsmasq_time
        - do_poll
        - icmp6_packet
        - poll_check
        - poll_listen
        - poll_reset
        - recvfrom
        - set_dns_listeners
        - set_log_writer
        - set_tftp_listeners
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:2369,14'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:2370,9'
          Dst:             difftime
        - Src:             'dnsmasq.c:2372,7'
          Dst:             poll_reset
        - Src:             'dnsmasq.c:2374,9'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:2376,2'
          Dst:             set_dns_listeners
        - Src:             'dnsmasq.c:2378,7'
          Dst:             set_tftp_listeners
        - Src:             'dnsmasq.c:2380,7'
          Dst:             set_log_writer
        - Src:             'dnsmasq.c:2384,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:2387,12'
          Dst:             do_poll
        - Src:             'dnsmasq.c:2394,13'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:2396,7'
          Dst:             check_log_writer
        - Src:             'dnsmasq.c:2398,2'
          Dst:             check_dns_listeners
        - Src:             'dnsmasq.c:2401,31'
          Dst:             poll_check
        - Src:             'dnsmasq.c:2402,2'
          Dst:             icmp6_packet
        - Src:             'dnsmasq.c:2406,7'
          Dst:             check_tftp_listeners
        - Src:             'dnsmasq.c:2418,15'
          Dst:             poll_check
        - Src:             'dnsmasq.c:2419,8'
          Dst:             recvfrom
    - functionName:    difftime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      double
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    44
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_dns_listeners
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1819
      functionLinenumberEnd: 1858
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         50
      ICount:          279
      EdgeCount:       64
      CyclomaticComplexity: 16
      functionsReached:
        - poll_listen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1826,5'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1830,7'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1834,5'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1844,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1851,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1857,2'
          Dst:             poll_listen
    - functionName:    set_tftp_listeners
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1799
      functionLinenumberEnd: 1815
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         19
      ICount:          104
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - poll_listen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1808,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1814,7'
          Dst:             poll_listen
    - functionName:    check_dns_listeners
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1861
      functionLinenumberEnd: 1941
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         73
      ICount:          426
      EdgeCount:       96
      CyclomaticComplexity: 25
      functionsReached:
        - cache_recv_insert
        - close
        - do_tcp_connection
        - poll_check
        - receive_query
        - reply_query
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1875,4'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1884,9'
          Dst:             cache_recv_insert
        - Src:             'dnsmasq.c:1886,8'
          Dst:             close
        - Src:             'dnsmasq.c:1896,9'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1898,2'
          Dst:             reply_query
        - Src:             'dnsmasq.c:1904,2'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1906,2'
          Dst:             reply_query
        - Src:             'dnsmasq.c:1912,9'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1914,2'
          Dst:             reply_query
        - Src:             'dnsmasq.c:1919,31'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1921,2'
          Dst:             receive_query
        - Src:             'dnsmasq.c:1936,36'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1938,4'
          Dst:             do_tcp_connection
    - functionName:    recvfrom
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    icmp_ping
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2294
      functionLinenumberEnd: 2345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          142
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - close
        - delay_dhcp
        - dnsmasq_time
        - make_icmp_sock
        - rand16
        - retry_send
        - sendto
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:2303,23'
          Dst:             rand16
        - Src:             'dnsmasq.c:2308,13'
          Dst:             make_icmp_sock
        - Src:             'dnsmasq.c:2332,21'
          Dst:             sendto
        - Src:             'dnsmasq.c:2332,10'
          Dst:             retry_send
        - Src:             'dnsmasq.c:2335,25'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:2335,14'
          Dst:             delay_dhcp
        - Src:             'dnsmasq.c:2338,3'
          Dst:             close
    - functionName:    make_icmp_sock
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2276
      functionLinenumberEnd: 2290
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          51
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - fix_fd
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:2280,13'
          Dst:             socket
        - Src:             'dnsmasq.c:2282,12'
          Dst:             fix_fd
        - Src:             'dnsmasq.c:2283,4'
          Dst:             setsockopt
        - Src:             'dnsmasq.c:2285,4'
          Dst:             close
    - functionName:    sendto
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    37
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clear_cache_and_reload
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1771
      functionLinenumberEnd: 1795
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          94
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - cache_reload
        - dhcp_read_ethers
        - dhcp_update_configs
        - lease_update_dns
        - lease_update_file
        - lease_update_from_configs
        - periodic_ra
        - reread_dhcp
        - send_alarm
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1775,5'
          Dst:             cache_reload
        - Src:             'dnsmasq.c:1780,7'
          Dst:             reread_dhcp
        - Src:             'dnsmasq.c:1782,2'
          Dst:             dhcp_read_ethers
        - Src:             'dnsmasq.c:1783,7'
          Dst:             dhcp_update_configs
        - Src:             'dnsmasq.c:1784,7'
          Dst:             lease_update_from_configs
        - Src:             'dnsmasq.c:1785,7'
          Dst:             lease_update_file
        - Src:             'dnsmasq.c:1786,7'
          Dst:             lease_update_dns
        - Src:             'dnsmasq.c:1792,16'
          Dst:             periodic_ra
        - Src:             'dnsmasq.c:1792,5'
          Dst:             send_alarm
    - functionName:    send_alarm
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1381
      functionLinenumberEnd: 1390
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          65
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - alarm
        - difftime
        - send_event
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1385,24'
          Dst:             difftime
        - Src:             'dnsmasq.c:1386,2'
          Dst:             send_event
        - Src:             'dnsmasq.c:1388,18'
          Dst:             difftime
        - Src:             'dnsmasq.c:1388,2'
          Dst:             alarm
    - functionName:    send_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1398
      functionLinenumberEnd: 1418
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          103
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - fatal_event
        - strlen
        - writev
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1404,21'
          Dst:             strlen
        - Src:             'dnsmasq.c:1413,5'
          Dst:             fatal_event
        - Src:             'dnsmasq.c:1417,12'
          Dst:             writev
        - Src:             'dnsmasq.c:1417,50'
          Dst:             __errno_location
    - functionName:    fatal_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1443
      functionLinenumberEnd: 1490
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          91
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - die
        - exit
      functionUses:    3
      BranchProfiles:
        - Branch String:   'dnsmasq.c:1446,3'
          Branch Sides:    []
      Callsites:
        - Src:             'dnsmasq.c:1444,3'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:1449,7'
          Dst:             exit
        - Src:             'dnsmasq.c:1452,7'
          Dst:             die
        - Src:             'dnsmasq.c:1456,7'
          Dst:             die
        - Src:             'dnsmasq.c:1460,7'
          Dst:             die
        - Src:             'dnsmasq.c:1464,7'
          Dst:             die
        - Src:             'dnsmasq.c:1468,7'
          Dst:             die
        - Src:             'dnsmasq.c:1472,7'
          Dst:             die
        - Src:             'dnsmasq.c:1476,7'
          Dst:             die
        - Src:             'dnsmasq.c:1480,7'
          Dst:             die
        - Src:             'dnsmasq.c:1484,7'
          Dst:             die
        - Src:             'dnsmasq.c:1488,7'
          Dst:             die
    - functionName:    writev
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1393
      functionLinenumberEnd: 1395
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - send_event
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1394,3'
          Dst:             send_event
    - functionName:    async_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1493
      functionLinenumberEnd: 1692
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         122
      ICount:          624
      EdgeCount:       152
      CyclomaticComplexity: 32
      functionsReached:
        - __errno_location
        - check_servers
        - clear_cache_and_reload
        - close
        - do_script_run
        - dump_cache
        - exit
        - fatal_event
        - fclose
        - fcntl64
        - flush_log
        - helper_buf_empty
        - helper_write
        - kill
        - lease_prune
        - lease_update_dns
        - lease_update_file
        - log_reopen
        - my_syslog
        - newaddress
        - periodic_ra
        - poll_resolv
        - read_event
        - read_servers_file
        - reload_servers
        - rerun_scripts
        - resend_query
        - retry_send
        - send_alarm
        - strerror
        - unlink
        - waitpid
      functionUses:    1
      BranchProfiles:
        - Branch String:   'dnsmasq.c:1503,5'
          Branch Sides:    []
      Callsites:
        - Src:             'dnsmasq.c:1502,7'
          Dst:             read_event
        - Src:             'dnsmasq.c:1511,2'
          Dst:             clear_cache_and_reload
        - Src:             'dnsmasq.c:1517,3'
          Dst:             reload_servers
        - Src:             'dnsmasq.c:1523,3'
          Dst:             read_servers_file
        - Src:             'dnsmasq.c:1528,8'
          Dst:             check_servers
        - Src:             'dnsmasq.c:1532,2'
          Dst:             rerun_scripts
        - Src:             'dnsmasq.c:1538,4'
          Dst:             dump_cache
        - Src:             'dnsmasq.c:1545,6'
          Dst:             lease_prune
        - Src:             'dnsmasq.c:1546,6'
          Dst:             lease_update_file
        - Src:             'dnsmasq.c:1547,6'
          Dst:             lease_update_dns
        - Src:             'dnsmasq.c:1552,17'
          Dst:             periodic_ra
        - Src:             'dnsmasq.c:1552,6'
          Dst:             send_alarm
        - Src:             'dnsmasq.c:1559,14'
          Dst:             waitpid
        - Src:             'dnsmasq.c:1562,12'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:1576,9'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1579,6'
          Dst:             close
        - Src:             'dnsmasq.c:1592,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1596,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1601,35'
          Dst:             strerror
        - Src:             'dnsmasq.c:1600,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1605,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1614,2'
          Dst:             fatal_event
        - Src:             'dnsmasq.c:1623,4'
          Dst:             log_reopen
        - Src:             'dnsmasq.c:1627,2'
          Dst:             newaddress
        - Src:             'dnsmasq.c:1631,2'
          Dst:             resend_query
        - Src:             'dnsmasq.c:1633,2'
          Dst:             poll_resolv
        - Src:             'dnsmasq.c:1652,8'
          Dst:             kill
        - Src:             'dnsmasq.c:1659,15'
          Dst:             fcntl64
        - Src:             'dnsmasq.c:1660,25'
          Dst:             fcntl64
        - Src:             'dnsmasq.c:1660,14'
          Dst:             retry_send
        - Src:             'dnsmasq.c:1662,8'
          Dst:             helper_write
        - Src:             'dnsmasq.c:1663,16'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1663,38'
          Dst:             do_script_run
        - Src:             'dnsmasq.c:1664,6'
          Dst:             close
        - Src:             'dnsmasq.c:1669,4'
          Dst:             fclose
        - Src:             'dnsmasq.c:1681,4'
          Dst:             unlink
        - Src:             'dnsmasq.c:1685,4'
          Dst:             close
        - Src:             'dnsmasq.c:1688,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1689,2'
          Dst:             flush_log
        - Src:             'dnsmasq.c:1690,2'
          Dst:             exit
    - functionName:    read_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1423
      functionLinenumberEnd: 1440
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - read_write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1426,8'
          Dst:             read_write
        - Src:             'dnsmasq.c:1433,7'
          Dst:             read_write
    - functionName:    waitpid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    28
      BranchProfiles:  []
      Callsites:       []
    - functionName:    poll_resolv
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1695
      functionLinenumberEnd: 1768
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          263
      EdgeCount:       63
      CyclomaticComplexity: 18
      functionsReached:
        - __errno_location
        - build_server_array
        - check_servers
        - clear_cache_and_reload
        - difftime
        - my_syslog
        - poll_resolv
        - reload_servers
        - stat64
        - strerror
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1707,9'
          Dst:             stat64
        - Src:             'dnsmasq.c:1716,77'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:1716,68'
          Dst:             strerror
        - Src:             'dnsmasq.c:1716,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1723,6'
          Dst:             poll_resolv
        - Src:             'dnsmasq.c:1734,10'
          Dst:             difftime
        - Src:             'dnsmasq.c:1745,11'
          Dst:             reload_servers
        - Src:             'dnsmasq.c:1747,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1749,4'
          Dst:             check_servers
        - Src:             'dnsmasq.c:1751,6'
          Dst:             clear_cache_and_reload
        - Src:             'dnsmasq.c:1759,4'
          Dst:             build_server_array
        - Src:             'dnsmasq.c:1763,8'
          Dst:             my_syslog
    - functionName:    kill
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unlink
      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:    stat64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sig_handler
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1331
      functionLinenumberEnd: 1377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          157
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - _exit
        - exit
        - getpid
        - send_event
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1337,2'
          Dst:             exit
        - Src:             'dnsmasq.c:1339,19'
          Dst:             getpid
        - Src:             'dnsmasq.c:1343,2'
          Dst:             _exit
        - Src:             'dnsmasq.c:1348,28'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:1367,6'
          Dst:             exit
        - Src:             'dnsmasq.c:1374,7'
          Dst:             send_event
        - Src:             'dnsmasq.c:1375,7'
          Dst:             __errno_location
    - functionName:    getpid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    main2
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 1323
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         682
      ICount:          3729
      EdgeCount:       902
      CyclomaticComplexity: 222
      functionsReached:
        - __errno_location
        - _exit
        - async_event
        - bind_dhcp_devices
        - blockdata_init
        - cache_init
        - capget
        - capset
        - chdir
        - check_dns_listeners
        - check_log_writer
        - check_servers
        - check_tftp_listeners
        - close
        - close_fds
        - closedir
        - create_bound_listeners
        - create_helper
        - create_wildcard_listeners
        - dhcp6_init
        - dhcp6_packet
        - dhcp_common_init
        - dhcp_construct_contexts
        - dhcp_init
        - dhcp_packet
        - die
        - dnsmasq_time
        - do_arp_script_run
        - do_poll
        - do_script_run
        - do_snoop_script_run
        - do_tftp_script_run
        - dump_init
        - dup2
        - enumerate_interfaces
        - fast_retry
        - fatal_event
        - fchown
        - find_mac
        - fork
        - getgrgid
        - getgrnam
        - getpid
        - getpwnam
        - getuid
        - helper_buf_empty
        - helper_write
        - icmp6_packet
        - inotify_check
        - inotify_dnsmasq_init
        - ipset_init
        - is_dad_listeners
        - join_multicast
        - kernel_version
        - lease_calc_fqdns
        - lease_find_interfaces
        - lease_init
        - lease_make_duid
        - log_context
        - log_relay
        - log_start
        - my_syslog
        - netlink_init
        - netlink_multicast
        - open64
        - opendir
        - poll_check
        - poll_listen
        - poll_reset
        - poll_resolv
        - prctl
        - pre_allocate_sfds
        - ra_init
        - rand_init
        - read_event
        - read_opts
        - read_write
        - safe_malloc
        - safe_pipe
        - send_event
        - set_dns_listeners
        - set_log_writer
        - set_tftp_listeners
        - setgid
        - setgroups
        - setsid
        - setuid
        - sigaction
        - sigemptyset
        - sprintf
        - strerror
        - strlen
        - sysconf
        - umask
        - unlink
        - warn_bound_listeners
        - warn_int_names
        - warn_wild_labels
        - whichdevice
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:56,20'
          Dst:             sysconf
        - Src:             'dnsmasq.c:98,3'
          Dst:             sigemptyset
        - Src:             'dnsmasq.c:99,3'
          Dst:             sigaction
        - Src:             'dnsmasq.c:100,3'
          Dst:             sigaction
        - Src:             'dnsmasq.c:101,3'
          Dst:             sigaction
        - Src:             'dnsmasq.c:102,3'
          Dst:             sigaction
        - Src:             'dnsmasq.c:103,3'
          Dst:             sigaction
        - Src:             'dnsmasq.c:104,3'
          Dst:             sigaction
        - Src:             'dnsmasq.c:105,3'
          Dst:             sigaction
        - Src:             'dnsmasq.c:109,3'
          Dst:             sigaction
        - Src:             'dnsmasq.c:111,3'
          Dst:             umask
        - Src:             'dnsmasq.c:113,3'
          Dst:             rand_init
        - Src:             'dnsmasq.c:115,3'
          Dst:             read_opts
        - Src:             'dnsmasq.c:118,28'
          Dst:             kernel_version
        - Src:             'dnsmasq.c:129,20'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:132,25'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:165,5'
          Dst:             open64
        - Src:             'dnsmasq.c:168,3'
          Dst:             close_fds
        - Src:             'dnsmasq.c:210,7'
          Dst:             die
        - Src:             'dnsmasq.c:229,5'
          Dst:             die
        - Src:             'dnsmasq.c:254,5'
          Dst:             die
        - Src:             'dnsmasq.c:265,5'
          Dst:             die
        - Src:             'dnsmasq.c:269,5'
          Dst:             die
        - Src:             'dnsmasq.c:271,9'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:276,2'
          Dst:             die
        - Src:             'dnsmasq.c:317,7'
          Dst:             dhcp_common_init
        - Src:             'dnsmasq.c:319,2'
          Dst:             lease_init
        - Src:             'dnsmasq.c:324,7'
          Dst:             dhcp_init
        - Src:             'dnsmasq.c:338,7'
          Dst:             ra_init
        - Src:             'dnsmasq.c:346,5'
          Dst:             dhcp6_init
        - Src:             'dnsmasq.c:354,7'
          Dst:             ipset_init
        - Src:             'dnsmasq.c:372,18'
          Dst:             netlink_init
        - Src:             'dnsmasq.c:378,5'
          Dst:             die
        - Src:             'dnsmasq.c:380,8'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:380,36'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:381,5'
          Dst:             die
        - Src:             'dnsmasq.c:387,3'
          Dst:             lease_calc_fqdns
        - Src:             'dnsmasq.c:392,7'
          Dst:             create_bound_listeners
        - Src:             'dnsmasq.c:397,6'
          Dst:             die
        - Src:             'dnsmasq.c:401,22'
          Dst:             whichdevice
        - Src:             'dnsmasq.c:403,23'
          Dst:             bind_dhcp_devices
        - Src:             'dnsmasq.c:404,2'
          Dst:             die
        - Src:             'dnsmasq.c:408,5'
          Dst:             create_wildcard_listeners
        - Src:             'dnsmasq.c:413,5'
          Dst:             join_multicast
        - Src:             'dnsmasq.c:416,3'
          Dst:             lease_make_duid
        - Src:             'dnsmasq.c:421,7'
          Dst:             cache_init
        - Src:             'dnsmasq.c:422,7'
          Dst:             blockdata_init
        - Src:             'dnsmasq.c:430,29'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:432,26'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:433,27'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:442,5'
          Dst:             inotify_dnsmasq_init
        - Src:             'dnsmasq.c:449,5'
          Dst:             dump_init
        - Src:             'dnsmasq.c:464,3'
          Dst:             die
        - Src:             'dnsmasq.c:475,3'
          Dst:             die
        - Src:             'dnsmasq.c:479,5'
          Dst:             pre_allocate_sfds
        - Src:             'dnsmasq.c:489,21'
          Dst:             getpwnam
        - Src:             'dnsmasq.c:499,38'
          Dst:             getpwnam
        - Src:             'dnsmasq.c:501,40'
          Dst:             getgrnam
        - Src:             'dnsmasq.c:505,5'
          Dst:             die
        - Src:             'dnsmasq.c:510,18'
          Dst:             getgrnam
        - Src:             'dnsmasq.c:511,7'
          Dst:             getgrgid
        - Src:             'dnsmasq.c:523,8'
          Dst:             is_dad_listeners
        - Src:             'dnsmasq.c:556,9'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:560,3'
          Dst:             capget
        - Src:             'dnsmasq.c:570,10'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:571,3'
          Dst:             capget
        - Src:             'dnsmasq.c:583,5'
          Dst:             die
        - Src:             'dnsmasq.c:600,3'
          Dst:             safe_pipe
        - Src:             'dnsmasq.c:605,3'
          Dst:             send_event
        - Src:             'dnsmasq.c:614,11'
          Dst:             chdir
        - Src:             'dnsmasq.c:615,2'
          Dst:             die
        - Src:             'dnsmasq.c:623,4'
          Dst:             safe_pipe
        - Src:             'dnsmasq.c:625,15'
          Dst:             fork
        - Src:             'dnsmasq.c:627,37'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:627,6'
          Dst:             send_event
        - Src:             'dnsmasq.c:635,8'
          Dst:             close
        - Src:             'dnsmasq.c:638,12'
          Dst:             read_event
        - Src:             'dnsmasq.c:639,3'
          Dst:             fatal_event
        - Src:             'dnsmasq.c:641,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:644,4'
          Dst:             close
        - Src:             'dnsmasq.c:648,4'
          Dst:             setsid
        - Src:             'dnsmasq.c:650,15'
          Dst:             fork
        - Src:             'dnsmasq.c:651,46'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:651,6'
          Dst:             send_event
        - Src:             'dnsmasq.c:654,6'
          Dst:             _exit
        - Src:             'dnsmasq.c:662,44'
          Dst:             getpid
        - Src:             'dnsmasq.c:662,4'
          Dst:             sprintf
        - Src:             'dnsmasq.c:683,4'
          Dst:             unlink
        - Src:             'dnsmasq.c:685,14'
          Dst:             open64
        - Src:             'dnsmasq.c:688,12'
          Dst:             getuid
        - Src:             'dnsmasq.c:699,12'
          Dst:             getuid
        - Src:             'dnsmasq.c:699,62'
          Dst:             fchown
        - Src:             'dnsmasq.c:700,16'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:702,63'
          Dst:             strlen
        - Src:             'dnsmasq.c:702,13'
          Dst:             read_write
        - Src:             'dnsmasq.c:706,9'
          Dst:             close
        - Src:             'dnsmasq.c:713,47'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:713,8'
          Dst:             send_event
        - Src:             'dnsmasq.c:714,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:719,14'
          Dst:             log_start
        - Src:             'dnsmasq.c:724,21'
          Dst:             open64
        - Src:             'dnsmasq.c:727,5'
          Dst:             dup2
        - Src:             'dnsmasq.c:728,5'
          Dst:             dup2
        - Src:             'dnsmasq.c:729,5'
          Dst:             dup2
        - Src:             'dnsmasq.c:730,5'
          Dst:             close
        - Src:             'dnsmasq.c:743,26'
          Dst:             create_helper
        - Src:             'dnsmasq.c:746,34'
          Dst:             getuid
        - Src:             'dnsmasq.c:753,5'
          Dst:             setgroups
        - Src:             'dnsmasq.c:754,5'
          Dst:             setgid
        - Src:             'dnsmasq.c:756,45'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:756,4'
          Dst:             send_event
        - Src:             'dnsmasq.c:757,4'
          Dst:             _exit
        - Src:             'dnsmasq.c:767,8'
          Dst:             capset
        - Src:             'dnsmasq.c:767,35'
          Dst:             prctl
        - Src:             'dnsmasq.c:768,25'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:794,8'
          Dst:             send_event
        - Src:             'dnsmasq.c:795,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:799,8'
          Dst:             setuid
        - Src:             'dnsmasq.c:801,48'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:801,8'
          Dst:             send_event
        - Src:             'dnsmasq.c:802,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:810,8'
          Dst:             capset
        - Src:             'dnsmasq.c:812,47'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:812,8'
          Dst:             send_event
        - Src:             'dnsmasq.c:813,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:824,5'
          Dst:             prctl
        - Src:             'dnsmasq.c:835,17'
          Dst:             opendir
        - Src:             'dnsmasq.c:840,52'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:840,12'
          Dst:             send_event
        - Src:             'dnsmasq.c:841,12'
          Dst:             _exit
        - Src:             'dnsmasq.c:845,6'
          Dst:             closedir
        - Src:             'dnsmasq.c:851,17'
          Dst:             opendir
        - Src:             'dnsmasq.c:856,45'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:856,5'
          Dst:             send_event
        - Src:             'dnsmasq.c:857,5'
          Dst:             _exit
        - Src:             'dnsmasq.c:861,6'
          Dst:             closedir
        - Src:             'dnsmasq.c:867,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:872,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:874,6'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:877,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:880,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:882,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:885,3'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:891,9'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:894,82'
          Dst:             strerror
        - Src:             'dnsmasq.c:894,7'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:953,26'
          Dst:             strerror
        - Src:             'dnsmasq.c:952,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:961,5'
          Dst:             warn_bound_listeners
        - Src:             'dnsmasq.c:963,5'
          Dst:             warn_wild_labels
        - Src:             'dnsmasq.c:965,3'
          Dst:             warn_int_names
        - Src:             'dnsmasq.c:970,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:975,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:984,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:989,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:994,5'
          Dst:             log_context
        - Src:             'dnsmasq.c:997,5'
          Dst:             log_relay
        - Src:             'dnsmasq.c:1001,5'
          Dst:             log_context
        - Src:             'dnsmasq.c:1004,5'
          Dst:             log_relay
        - Src:             'dnsmasq.c:1007,5'
          Dst:             dhcp_construct_contexts
        - Src:             'dnsmasq.c:1010,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1015,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1018,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1023,5'
          Dst:             lease_find_interfaces
        - Src:             'dnsmasq.c:1031,7'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1038,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1042,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1067,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1076,5'
          Dst:             close
        - Src:             'dnsmasq.c:1079,5'
          Dst:             check_servers
        - Src:             'dnsmasq.c:1081,9'
          Dst:             getpid
        - Src:             'dnsmasq.c:1087,3'
          Dst:             poll_resolv
        - Src:             'dnsmasq.c:1092,21'
          Dst:             fast_retry
        - Src:             'dnsmasq.c:1094,7'
          Dst:             poll_reset
        - Src:             'dnsmasq.c:1102,16'
          Dst:             is_dad_listeners
        - Src:             'dnsmasq.c:1107,2'
          Dst:             set_dns_listeners
        - Src:             'dnsmasq.c:1110,7'
          Dst:             set_tftp_listeners
        - Src:             'dnsmasq.c:1125,11'
          Dst:             bind_dhcp_devices
        - Src:             'dnsmasq.c:1130,8'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1137,4'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1139,6'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1145,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1148,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1153,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1157,7'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1162,7'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1166,14'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1166,36'
          Dst:             do_script_run
        - Src:             'dnsmasq.c:1171,2'
          Dst:             find_mac
        - Src:             'dnsmasq.c:1172,14'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1172,36'
          Dst:             do_arp_script_run
        - Src:             'dnsmasq.c:1175,14'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1175,36'
          Dst:             do_tftp_script_run
        - Src:             'dnsmasq.c:1179,14'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1179,36'
          Dst:             do_snoop_script_run
        - Src:             'dnsmasq.c:1182,12'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1183,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1201,7'
          Dst:             set_log_writer
        - Src:             'dnsmasq.c:1203,11'
          Dst:             do_poll
        - Src:             'dnsmasq.c:1206,13'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:1208,7'
          Dst:             check_log_writer
        - Src:             'dnsmasq.c:1211,7'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:1215,11'
          Dst:             is_dad_listeners
        - Src:             'dnsmasq.c:1217,4'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:1219,4'
          Dst:             create_bound_listeners
        - Src:             'dnsmasq.c:1220,4'
          Dst:             warn_bound_listeners
        - Src:             'dnsmasq.c:1224,11'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1225,2'
          Dst:             netlink_multicast
        - Src:             'dnsmasq.c:1232,39'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1232,80'
          Dst:             inotify_check
        - Src:             'dnsmasq.c:1235,6'
          Dst:             poll_resolv
        - Src:             'dnsmasq.c:1252,11'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1253,2'
          Dst:             async_event
        - Src:             'dnsmasq.c:1298,2'
          Dst:             check_dns_listeners
        - Src:             'dnsmasq.c:1301,7'
          Dst:             check_tftp_listeners
        - Src:             'dnsmasq.c:1307,8'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1308,6'
          Dst:             dhcp_packet
        - Src:             'dnsmasq.c:1309,31'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1310,6'
          Dst:             dhcp_packet
        - Src:             'dnsmasq.c:1314,54'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1315,2'
          Dst:             dhcp6_packet
        - Src:             'dnsmasq.c:1317,31'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1318,2'
          Dst:             icmp6_packet
        - Src:             'dnsmasq.c:1322,37'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1323,2'
          Dst:             helper_write
    - functionName:    sysconf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sigemptyset
      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:    sigaction
      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:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    umask
      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:    open64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpwnam
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getgrnam
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getgrgid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    capget
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chdir
      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:    setsid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    87
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fchown
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dup2
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setgroups
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setgid
      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:    capset
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    prctl
      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:    setuid
      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:    opendir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    closedir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_update_server
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 777
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          311
      EdgeCount:       94
      CyclomaticComplexity: 26
      functionsReached:
        - canonicalise
        - hostname_isequal
        - rand32
        - safe_strncpy
        - strlen
        - whine_malloc
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:672,20'
          Dst:             whine_malloc
        - Src:             'domain-match.c:674,20'
          Dst:             canonicalise
        - Src:             'domain-match.c:690,20'
          Dst:             whine_malloc
        - Src:             'domain-match.c:719,3'
          Dst:             hostname_isequal
        - Src:             'domain-match.c:742,17'
          Dst:             whine_malloc
        - Src:             'domain-match.c:759,19'
          Dst:             rand32
        - Src:             'domain-match.c:763,2'
          Dst:             safe_strncpy
        - Src:             'domain-match.c:774,22'
          Dst:             strlen
    - functionName:    cleanup_servers
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 626
      functionLinenumberEnd: 646
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - server_gone
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:635,10'
          Dst:             server_gone
    - functionName:    mark_servers
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 623
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          107
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_local_answer
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 475
      functionDepth:   0
      returnType:      size_t
      argCount:        9
      argTypes:
        - int
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          250
      EdgeCount:       60
      CyclomaticComplexity: 17
      functionsReached:
        - __bswap_16
        - add_resource_record
        - log_query
        - setup_reply
        - skip_questions
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:416,3'
          Dst:             setup_reply
        - Src:             'domain-match.c:421,5'
          Dst:             log_query
        - Src:             'domain-match.c:428,8'
          Dst:             log_query
        - Src:             'domain-match.c:431,13'
          Dst:             skip_questions
        - Src:             'domain-match.c:444,6'
          Dst:             add_resource_record
        - Src:             'domain-match.c:446,2'
          Dst:             log_query
        - Src:             'domain-match.c:459,6'
          Dst:             add_resource_record
        - Src:             'domain-match.c:461,2'
          Dst:             log_query
        - Src:             'domain-match.c:467,17'
          Dst:             skip_questions
        - Src:             'domain-match.c:472,21'
          Dst:             __bswap_16
    - functionName:    is_local_answer
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 406
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          119
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - check_for_local_domain
        - order_servers
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:396,23'
          Dst:             order_servers
        - Src:             'domain-match.c:399,8'
          Dst:             check_for_local_domain
    - functionName:    order_servers
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          61
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - order
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:539,13'
          Dst:             order
    - functionName:    order
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          45
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - hostname_order
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:526,10'
          Dst:             hostname_order
    - functionName:    server_samegroup
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - order_servers
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:279,10'
          Dst:             order_servers
    - functionName:    filter_servers
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         113
      ICount:          507
      EdgeCount:       156
      CyclomaticComplexity: 45
      functionsReached:
        - order_servers
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:290,22'
          Dst:             order_servers
        - Src:             'domain-match.c:293,45'
          Dst:             order_servers
    - functionName:    lookup_domain
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         111
      ICount:          562
      EdgeCount:       152
      CyclomaticComplexity: 43
      functionsReached:
        - filter_servers
        - order
        - strchr
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:119,17'
          Dst:             strchr
        - Src:             'domain-match.c:154,14'
          Dst:             order
        - Src:             'domain-match.c:154,14'
          Dst:             order
        - Src:             'domain-match.c:208,27'
          Dst:             order
        - Src:             'domain-match.c:213,45'
          Dst:             order
        - Src:             'domain-match.c:221,17'
          Dst:             filter_servers
        - Src:             'domain-match.c:260,7'
          Dst:             filter_servers
    - 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:    35
      BranchProfiles:  []
      Callsites:       []
    - functionName:    order_qsort
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - order_servers
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:556,8'
          Dst:             order_servers
    - functionName:    build_server_array
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         65
      ICount:          329
      EdgeCount:       87
      CyclomaticComplexity: 24
      functionsReached:
        - order_qsort
        - qsort
        - whine_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:56,18'
          Dst:             whine_malloc
        - Src:             'domain-match.c:82,3'
          Dst:             qsort
        - Src:             'domain-match.c:82,3'
          Dst:             order_qsort
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_domain6
      functionSourceFile: '/src/dnsmasq/src/domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - search_domain6
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'domain.c:297,20'
          Dst:             search_domain6
    - functionName:    search_domain6
      functionSourceFile: '/src/dnsmasq/src/domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          40
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - match_domain6
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain.c:287,9'
          Dst:             match_domain6
    - functionName:    match_domain6
      functionSourceFile: '/src/dnsmasq/src/domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          121
      EdgeCount:       40
      CyclomaticComplexity: 13
      functionsReached:
        - addr6part
        - is_same_net6
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain.c:264,6'
          Dst:             is_same_net6
        - Src:             'domain.c:271,19'
          Dst:             addr6part
        - Src:             'domain.c:272,8'
          Dst:             is_same_net6
        - Src:             'domain.c:273,20'
          Dst:             addr6part
        - Src:             'domain.c:274,20'
          Dst:             addr6part
        - Src:             'domain.c:277,16'
          Dst:             is_same_net6
    - functionName:    get_domain
      functionSourceFile: '/src/dnsmasq/src/domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - search_domain
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'domain.c:249,12'
          Dst:             search_domain
    - functionName:    search_domain
      functionSourceFile: '/src/dnsmasq/src/domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          40
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - match_domain
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain.c:239,9'
          Dst:             match_domain
    - functionName:    match_domain
      functionSourceFile: '/src/dnsmasq/src/domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          98
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - __bswap_32
        - is_same_net_prefix
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain.c:225,6'
          Dst:             is_same_net_prefix
        - Src:             'domain.c:229,5'
          Dst:             __bswap_32
        - Src:             'domain.c:229,27'
          Dst:             __bswap_32
        - Src:             'domain.c:230,27'
          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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_rev_synth
      functionSourceFile: '/src/dnsmasq/src/domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          239
      EdgeCount:       51
      CyclomaticComplexity: 15
      functionsReached:
        - __bswap_32
        - addr6part
        - inet_ntop
        - search_domain
        - search_domain6
        - snprintf
        - sprintf
        - strlen
        - strncat
        - strncpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain.c:157,30'
          Dst:             search_domain
        - Src:             'domain.c:164,26'
          Dst:             __bswap_32
        - Src:             'domain.c:164,54'
          Dst:             __bswap_32
        - Src:             'domain.c:165,5'
          Dst:             snprintf
        - Src:             'domain.c:170,7'
          Dst:             strncpy
        - Src:             'domain.c:172,52'
          Dst:             strlen
        - Src:             'domain.c:172,12'
          Dst:             inet_ntop
        - Src:             'domain.c:184,32'
          Dst:             search_domain6
        - Src:             'domain.c:190,17'
          Dst:             addr6part
        - Src:             'domain.c:190,43'
          Dst:             addr6part
        - Src:             'domain.c:191,5'
          Dst:             snprintf
        - Src:             'domain.c:199,7'
          Dst:             strncpy
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:0,0'
          Dst:             strlen
        - Src:             'domain.c:0,0'
          Dst:             strncat
    - 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:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strncpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      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:    58
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strncat
      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:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_name_synthetic
      functionSourceFile: '/src/dnsmasq/src/domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         123
      ICount:          504
      EdgeCount:       172
      CyclomaticComplexity: 51
      functionsReached:
        - __bswap_32
        - addr6part
        - atoi
        - atoll
        - hostname_isequal
        - inet_pton
        - match_domain
        - match_domain6
        - setaddr6part
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'domain.c:69,8'
          Dst:             hostname_isequal
        - Src:             'domain.c:73,26'
          Dst:             atoi
        - Src:             'domain.c:76,18'
          Dst:             __bswap_32
        - Src:             'domain.c:76,41'
          Dst:             __bswap_32
        - Src:             'domain.c:78,29'
          Dst:             __bswap_32
        - Src:             'domain.c:84,17'
          Dst:             atoll
        - Src:             'domain.c:87,18'
          Dst:             addr6part
        - Src:             'domain.c:87,40'
          Dst:             addr6part
        - Src:             'domain.c:89,21'
          Dst:             addr6part
        - Src:             'domain.c:91,9'
          Dst:             setaddr6part
        - Src:             'domain.c:128,8'
          Dst:             hostname_isequal
        - Src:             'domain.c:128,44'
          Dst:             inet_pton
        - Src:             'domain.c:129,34'
          Dst:             match_domain
        - Src:             'domain.c:129,64'
          Dst:             match_domain6
    - functionName:    atoi
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atoll
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    78
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dump_packet_icmp
      functionSourceFile: '/src/dnsmasq/src/dump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          36
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - do_dump_packet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dump.c:128,5'
          Dst:             do_dump_packet
    - functionName:    do_dump_packet
      functionSourceFile: '/src/dnsmasq/src/dump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         115
      ICount:          838
      EdgeCount:       155
      CyclomaticComplexity: 42
      functionsReached:
        - __bswap_16
        - gettimeofday
        - my_syslog
        - read_write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dump.c:155,33'
          Dst:             __bswap_16
        - Src:             'dump.c:0,0'
          Dst:             __bswap_16
        - Src:             'dump.c:194,11'
          Dst:             __bswap_16
        - Src:             'dump.c:195,11'
          Dst:             __bswap_16
        - Src:             'dump.c:194,11'
          Dst:             __bswap_16
        - Src:             'dump.c:195,11'
          Dst:             __bswap_16
        - Src:             'dump.c:194,11'
          Dst:             __bswap_16
        - Src:             'dump.c:195,11'
          Dst:             __bswap_16
        - Src:             'dump.c:194,11'
          Dst:             __bswap_16
        - Src:             'dump.c:195,11'
          Dst:             __bswap_16
        - Src:             'dump.c:194,11'
          Dst:             __bswap_16
        - Src:             'dump.c:195,11'
          Dst:             __bswap_16
        - Src:             'dump.c:194,11'
          Dst:             __bswap_16
        - Src:             'dump.c:195,11'
          Dst:             __bswap_16
        - Src:             'dump.c:194,11'
          Dst:             __bswap_16
        - Src:             'dump.c:195,11'
          Dst:             __bswap_16
        - Src:             'dump.c:194,11'
          Dst:             __bswap_16
        - Src:             'dump.c:195,11'
          Dst:             __bswap_16
        - Src:             'dump.c:209,14'
          Dst:             __bswap_16
        - Src:             'dump.c:212,16'
          Dst:             __bswap_16
        - Src:             'dump.c:251,14'
          Dst:             __bswap_16
        - Src:             'dump.c:252,14'
          Dst:             __bswap_16
        - Src:             'dump.c:273,14'
          Dst:             __bswap_16
        - Src:             'dump.c:274,14'
          Dst:             __bswap_16
        - Src:             'dump.c:286,8'
          Dst:             gettimeofday
        - Src:             'dump.c:291,8'
          Dst:             read_write
        - Src:             'dump.c:292,8'
          Dst:             read_write
        - Src:             'dump.c:293,33'
          Dst:             read_write
        - Src:             'dump.c:294,8'
          Dst:             read_write
        - Src:             'dump.c:295,5'
          Dst:             my_syslog
        - Src:             'dump.c:297,5'
          Dst:             my_syslog
        - Src:             'dump.c:299,5'
          Dst:             my_syslog
    - functionName:    gettimeofday
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dump_packet_udp
      functionSourceFile: '/src/dnsmasq/src/dump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          80
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - do_dump_packet
        - getsockname
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'dump.c:111,23'
          Dst:             getsockname
        - Src:             'dump.c:120,8'
          Dst:             do_dump_packet
    - functionName:    dump_init
      functionSourceFile: '/src/dnsmasq/src/dump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         30
      ICount:          189
      EdgeCount:       37
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - creat64
        - die
        - lseek64
        - open64
        - read_write
        - stat64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dump.c:62,7'
          Dst:             stat64
        - Src:             'dump.c:65,11'
          Dst:             __errno_location
        - Src:             'dump.c:66,22'
          Dst:             creat64
        - Src:             'dump.c:67,5'
          Dst:             read_write
        - Src:             'dump.c:68,2'
          Dst:             die
        - Src:             'dump.c:74,30'
          Dst:             open64
        - Src:             'dump.c:75,6'
          Dst:             read_write
        - Src:             'dump.c:76,2'
          Dst:             die
        - Src:             'dump.c:78,30'
          Dst:             open64
        - Src:             'dump.c:79,6'
          Dst:             read_write
        - Src:             'dump.c:80,5'
          Dst:             die
        - Src:             'dump.c:82,5'
          Dst:             die
        - Src:             'dump.c:86,14'
          Dst:             read_write
        - Src:             'dump.c:88,4'
          Dst:             lseek64
    - functionName:    creat64
      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:    lseek64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    xor_array
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1302
      functionLinenumberEnd: 1307
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          142
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    domain_find_sets
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 674
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          100
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - hostname_isequal
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:677,26'
          Dst:             strlen
        - Src:             'forward.c:681,32'
          Dst:             strlen
        - Src:             'forward.c:683,35'
          Dst:             hostname_isequal
    - functionName:    get_id
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3293
      functionLinenumberEnd: 3307
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          56
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - rand16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3299,13'
          Dst:             rand16
    - functionName:    get_new_frec
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3113
      functionLinenumberEnd: 3183
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          195
      EdgeCount:       56
      CyclomaticComplexity: 17
      functionsReached:
        - difftime
        - free_frec
        - query_full
        - server_samegroup
        - whine_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3135,7'
          Dst:             difftime
        - Src:             'forward.c:3141,23'
          Dst:             difftime
        - Src:             'forward.c:3138,7'
          Dst:             free_frec
        - Src:             'forward.c:3146,30'
          Dst:             difftime
        - Src:             'forward.c:3146,67'
          Dst:             server_samegroup
        - Src:             'forward.c:3154,4'
          Dst:             query_full
        - Src:             'forward.c:3158,38'
          Dst:             difftime
        - Src:             'forward.c:3162,4'
          Dst:             free_frec
        - Src:             'forward.c:3167,43'
          Dst:             whine_malloc
    - functionName:    free_frec
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3042
      functionLinenumberEnd: 3102
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          93
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - blockdata_free
        - free_rfds
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3067,3'
          Dst:             free_rfds
        - Src:             'forward.c:3073,7'
          Dst:             blockdata_free
    - functionName:    query_full
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3186
      functionLinenumberEnd: 3197
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          49
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - difftime
        - my_syslog
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3189,12'
          Dst:             difftime
        - Src:             'forward.c:3193,2'
          Dst:             my_syslog
        - Src:             'forward.c:3195,2'
          Dst:             my_syslog
    - functionName:    free_rfds
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3003
      functionLinenumberEnd: 3039
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          121
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - close
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3009,2'
          Dst:             close
    - functionName:    server_gone
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3273
      functionLinenumberEnd: 3289
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         42
      ICount:          179
      EdgeCount:       57
      CyclomaticComplexity: 17
      functionsReached:
        - free_frec
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3279,7'
          Dst:             free_frec
    - functionName:    server_send
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - retry_send
        - sa_len
        - sendto
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:142,7'
          Dst:             sa_len
        - Src:             'forward.c:140,21'
          Dst:             sendto
        - Src:             'forward.c:140,10'
          Dst:             retry_send
    - functionName:    resend_query
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3265
      functionLinenumberEnd: 3269
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - server_send
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3267,5'
          Dst:             server_send
    - functionName:    random_sock
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2773
      functionLinenumberEnd: 2812
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          111
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - close
        - local_bind
        - my_syslog
        - prettyprint_addr
        - safe_strncpy
        - setsockopt
        - sockaddr_isnull
        - socket
        - strerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:2776,13'
          Dst:             socket
        - Src:             'forward.c:2786,8'
          Dst:             setsockopt
        - Src:             'forward.c:2788,8'
          Dst:             close
        - Src:             'forward.c:2793,11'
          Dst:             local_bind
        - Src:             'forward.c:2797,12'
          Dst:             sockaddr_isnull
        - Src:             'forward.c:2797,48'
          Dst:             __errno_location
        - Src:             'forward.c:2800,12'
          Dst:             prettyprint_addr
        - Src:             'forward.c:2802,6'
          Dst:             safe_strncpy
        - Src:             'forward.c:2805,34'
          Dst:             __errno_location
        - Src:             'forward.c:2805,25'
          Dst:             strerror
        - Src:             'forward.c:2804,4'
          Dst:             my_syslog
        - Src:             'forward.c:2808,7'
          Dst:             close
    - functionName:    server_isequal
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2817
      functionLinenumberEnd: 2821
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          49
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - sockaddr_isequal
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:2820,5'
          Dst:             sockaddr_isequal
        - Src:             'forward.c:2821,5'
          Dst:             strncmp
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    allocate_rfd
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2834
      functionLinenumberEnd: 3000
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         89
      ICount:          468
      EdgeCount:       123
      CyclomaticComplexity: 36
      functionsReached:
        - close
        - random_sock
        - server_isequal
        - whine_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:2861,9'
          Dst:             server_isequal
        - Src:             'forward.c:2900,14'
          Dst:             random_sock
        - Src:             'forward.c:2913,20'
          Dst:             whine_malloc
        - Src:             'forward.c:2918,4'
          Dst:             close
        - Src:             'forward.c:2931,6'
          Dst:             server_isequal
        - Src:             'forward.c:2963,13'
          Dst:             whine_malloc
        - Src:             'forward.c:2966,12'
          Dst:             whine_malloc
        - Src:             'forward.c:2967,10'
          Dst:             random_sock
    - functionName:    tcp_talk
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2022
      functionLinenumberEnd: 2172
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          353
      EdgeCount:       85
      CyclomaticComplexity: 25
      functionsReached:
        - __bswap_16
        - __errno_location
        - blockdata_alloc
        - blockdata_free
        - blockdata_retrieve
        - close
        - connect
        - extract_name
        - local_bind
        - my_syslog
        - prettyprint_addr
        - read_write
        - sa_len
        - server_send
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:2038,8'
          Dst:             extract_name
        - Src:             'forward.c:2044,26'
          Dst:             blockdata_alloc
        - Src:             'forward.c:2068,7'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:2070,17'
          Dst:             __bswap_16
        - Src:             'forward.c:2074,23'
          Dst:             socket
        - Src:             'forward.c:2083,10'
          Dst:             local_bind
        - Src:             'forward.c:2098,4'
          Dst:             setsockopt
        - Src:             'forward.c:2100,4'
          Dst:             setsockopt
        - Src:             'forward.c:2104,4'
          Dst:             server_send
        - Src:             'forward.c:2106,8'
          Dst:             __errno_location
        - Src:             'forward.c:2114,69'
          Dst:             sa_len
        - Src:             'forward.c:2114,32'
          Dst:             connect
        - Src:             'forward.c:2119,15'
          Dst:             prettyprint_addr
        - Src:             'forward.c:2120,8'
          Dst:             my_syslog
        - Src:             'forward.c:2133,27'
          Dst:             read_write
        - Src:             'forward.c:2134,5'
          Dst:             read_write
        - Src:             'forward.c:2135,47'
          Dst:             __bswap_16
        - Src:             'forward.c:2135,5'
          Dst:             read_write
        - Src:             'forward.c:2142,8'
          Dst:             close
        - Src:             'forward.c:2155,11'
          Dst:             extract_name
        - Src:             'forward.c:0,0'
          Dst:             close
        - Src:             'forward.c:0,0'
          Dst:             blockdata_free
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    connect
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    domain_no_rebind
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          89
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - hostname_isequal
        - strchr
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:148,23'
          Dst:             strlen
        - Src:             'forward.c:149,16'
          Dst:             strchr
        - Src:             'forward.c:154,27'
          Dst:             strlen
        - Src:             'forward.c:155,2'
          Dst:             hostname_isequal
    - functionName:    tcp_request
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2352
      functionLinenumberEnd: 2768
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - int
        - size_t
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         155
      ICount:          863
      EdgeCount:       214
      CyclomaticComplexity: 61
      functionsReached:
        - __bswap_16
        - __bswap_32
        - add_edns0_config
        - add_pseudoheader
        - answer_auth
        - answer_request
        - blockdata_alloc
        - blockdata_free
        - blockdata_retrieve
        - check_for_local_domain
        - check_log_writer
        - close
        - domain_no_rebind
        - extract_name
        - extract_request
        - find_pseudoheader
        - getpeername
        - in_zone
        - is_local_answer
        - is_same_net
        - is_same_net6
        - log_query_mysockaddr
        - lookup_domain
        - make_local_answer
        - my_syslog
        - prettyprint_addr
        - process_reply
        - read_write
        - shutdown
        - strchr
        - tcp_talk
        - whine_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:2366,27'
          Dst:             whine_malloc
        - Src:             'forward.c:2382,18'
          Dst:             getpeername
        - Src:             'forward.c:2409,3'
          Dst:             is_same_net6
        - Src:             'forward.c:2417,25'
          Dst:             __bswap_32
        - Src:             'forward.c:2419,5'
          Dst:             is_same_net
        - Src:             'forward.c:2425,4'
          Dst:             prettyprint_addr
        - Src:             'forward.c:2426,4'
          Dst:             my_syslog
        - Src:             'forward.c:2445,9'
          Dst:             read_write
        - Src:             'forward.c:2446,17'
          Dst:             __bswap_16
        - Src:             'forward.c:2447,9'
          Dst:             read_write
        - Src:             'forward.c:2467,8'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:2471,25'
          Dst:             extract_request
        - Src:             'forward.c:2476,3'
          Dst:             blockdata_free
        - Src:             'forward.c:2480,12'
          Dst:             find_pseudoheader
        - Src:             'forward.c:2492,15'
          Dst:             add_edns0_config
        - Src:             'forward.c:2493,25'
          Dst:             blockdata_alloc
        - Src:             'forward.c:2496,8'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:2511,11'
          Dst:             in_zone
        - Src:             'forward.c:2523,19'
          Dst:             domain_no_rebind
        - Src:             'forward.c:2553,7'
          Dst:             answer_auth
        - Src:             'forward.c:2556,7'
          Dst:             answer_request
        - Src:             'forward.c:2562,7'
          Dst:             check_log_writer
        - Src:             'forward.c:2562,7'
          Dst:             check_log_writer
        - Src:             'forward.c:2562,7'
          Dst:             check_log_writer
        - Src:             'forward.c:2570,4'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:2576,8'
          Dst:             lookup_domain
        - Src:             'forward.c:2577,14'
          Dst:             is_local_answer
        - Src:             'forward.c:2586,6'
          Dst:             strchr
        - Src:             'forward.c:2588,11'
          Dst:             check_for_local_domain
        - Src:             'forward.c:2611,14'
          Dst:             tcp_talk
        - Src:             'forward.c:2616,14'
          Dst:             extract_name
        - Src:             'forward.c:2618,9'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:2689,13'
          Dst:             process_reply
        - Src:             'forward.c:2706,14'
          Dst:             make_local_answer
        - Src:             'forward.c:2720,15'
          Dst:             __bswap_16
        - Src:             'forward.c:2723,10'
          Dst:             add_pseudoheader
        - Src:             'forward.c:2725,10'
          Dst:             add_pseudoheader
        - Src:             'forward.c:2728,7'
          Dst:             check_log_writer
        - Src:             'forward.c:2730,17'
          Dst:             __bswap_16
        - Src:             'forward.c:2740,12'
          Dst:             read_write
        - Src:             'forward.c:2749,4'
          Dst:             shutdown
        - Src:             'forward.c:2750,4'
          Dst:             close
        - Src:             'forward.c:2760,7'
          Dst:             shutdown
        - Src:             'forward.c:2761,7'
          Dst:             close
        - Src:             'forward.c:2764,3'
          Dst:             blockdata_free
        - Src:             'forward.c:2765,3'
          Dst:             check_log_writer
    - functionName:    getpeername
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_query_mysockaddr
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          51
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __bswap_16
        - log_query
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:0,0'
          Dst:             __bswap_16
        - Src:             'forward.c:0,0'
          Dst:             log_query
    - functionName:    process_reply
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 699
      functionLinenumberEnd: 889
      functionDepth:   0
      returnType:      size_t
      argCount:        10
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - int
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         89
      ICount:          511
      EdgeCount:       124
      CyclomaticComplexity: 37
      functionsReached:
        - __bswap_16
        - add_pseudoheader
        - check_for_bogus_wildcard
        - check_for_local_domain
        - check_source
        - do_doctor
        - domain_find_sets
        - extract_addresses
        - extract_name
        - find_pseudoheader
        - log_query
        - lookup_domain
        - my_syslog
        - prettyprint_addr
        - resize_packet
        - rrfilter
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:710,46'
          Dst:             extract_name
        - Src:             'forward.c:713,16'
          Dst:             domain_find_sets
        - Src:             'forward.c:722,18'
          Dst:             find_pseudoheader
        - Src:             'forward.c:727,46'
          Dst:             check_source
        - Src:             'forward.c:729,4'
          Dst:             my_syslog
        - Src:             'forward.c:738,8'
          Dst:             rrfilter
        - Src:             'forward.c:770,13'
          Dst:             prettyprint_addr
        - Src:             'forward.c:771,7'
          Dst:             my_syslog
        - Src:             'forward.c:779,12'
          Dst:             resize_packet
        - Src:             'forward.c:786,7'
          Dst:             log_query
        - Src:             'forward.c:788,14'
          Dst:             resize_packet
        - Src:             'forward.c:792,5'
          Dst:             log_query
        - Src:             'forward.c:795,32'
          Dst:             extract_name
        - Src:             'forward.c:796,5'
          Dst:             check_for_local_domain
        - Src:             'forward.c:796,54'
          Dst:             lookup_domain
        - Src:             'forward.c:806,30'
          Dst:             do_doctor
        - Src:             'forward.c:812,4'
          Dst:             check_for_bogus_wildcard
        - Src:             'forward.c:814,22'
          Dst:             __bswap_16
        - Src:             'forward.c:824,13'
          Dst:             extract_addresses
        - Src:             'forward.c:828,26'
          Dst:             __bswap_16
        - Src:             'forward.c:836,8'
          Dst:             my_syslog
        - Src:             'forward.c:848,39'
          Dst:             rrfilter
        - Src:             'forward.c:877,7'
          Dst:             resize_packet
        - Src:             'forward.c:881,18'
          Dst:             __bswap_16
        - Src:             'forward.c:882,11'
          Dst:             add_pseudoheader
    - functionName:    receive_query
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1566
      functionLinenumberEnd: 2015
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         204
      ICount:          1085
      EdgeCount:       283
      CyclomaticComplexity: 81
      functionsReached:
        - __bswap_16
        - __bswap_32
        - __cmsg_nxthdr
        - add_edns0_config
        - add_pseudoheader
        - answer_auth
        - answer_request
        - blockdata_alloc
        - blockdata_free
        - blockdata_retrieve
        - detect_loop
        - dump_packet_udp
        - enumerate_interfaces
        - extract_request
        - find_pseudoheader
        - forward_query
        - iface_check
        - in_zone
        - indextoname
        - is_same_net
        - is_same_net6
        - label_exception
        - log_query_mysockaddr
        - loopback_exception
        - my_syslog
        - prettyprint_addr
        - recvmsg
        - send_from
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:1639,12'
          Dst:             recvmsg
        - Src:             'forward.c:1677,3'
          Dst:             is_same_net6
        - Src:             'forward.c:1685,25'
          Dst:             __bswap_32
        - Src:             'forward.c:1687,5'
          Dst:             is_same_net
        - Src:             'forward.c:1696,8'
          Dst:             prettyprint_addr
        - Src:             'forward.c:1697,8'
          Dst:             my_syslog
        - Src:             'forward.c:1713,51'
          Dst:             __cmsg_nxthdr
        - Src:             'forward.c:1752,53'
          Dst:             __cmsg_nxthdr
        - Src:             'forward.c:1768,12'
          Dst:             indextoname
        - Src:             'forward.c:1771,12'
          Dst:             iface_check
        - Src:             'forward.c:1774,7'
          Dst:             enumerate_interfaces
        - Src:             'forward.c:1775,10'
          Dst:             loopback_exception
        - Src:             'forward.c:1776,10'
          Dst:             label_exception
        - Src:             'forward.c:1794,6'
          Dst:             enumerate_interfaces
        - Src:             'forward.c:1815,3'
          Dst:             dump_packet_udp
        - Src:             'forward.c:1824,5'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:1825,12'
          Dst:             extract_request
        - Src:             'forward.c:1830,7'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:1845,10'
          Dst:             in_zone
        - Src:             'forward.c:1859,11'
          Dst:             detect_loop
        - Src:             'forward.c:1864,7'
          Dst:             find_pseudoheader
        - Src:             'forward.c:1919,11'
          Dst:             answer_auth
        - Src:             'forward.c:1932,11'
          Dst:             add_edns0_config
        - Src:             'forward.c:1933,24'
          Dst:             blockdata_alloc
        - Src:             'forward.c:1938,11'
          Dst:             answer_request
        - Src:             'forward.c:1964,19'
          Dst:             __bswap_16
        - Src:             'forward.c:1966,12'
          Dst:             add_pseudoheader
        - Src:             'forward.c:1970,10'
          Dst:             add_pseudoheader
        - Src:             'forward.c:1975,7'
          Dst:             dump_packet_udp
        - Src:             'forward.c:1983,7'
          Dst:             send_from
        - Src:             'forward.c:2006,7'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:2007,7'
          Dst:             blockdata_free
        - Src:             'forward.c:2010,7'
          Dst:             forward_query
        - Src:             'forward.c:2014,3'
          Dst:             blockdata_free
    - functionName:    recvmsg
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __cmsg_nxthdr
      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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    send_from
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          107
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - my_syslog
        - retry_send
        - sa_len
        - sendmsg
        - strerror
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:55,21'
          Dst:             sa_len
        - Src:             'forward.c:96,21'
          Dst:             sendmsg
        - Src:             'forward.c:96,10'
          Dst:             retry_send
        - Src:             'forward.c:98,7'
          Dst:             __errno_location
        - Src:             'forward.c:103,53'
          Dst:             strerror
        - Src:             'forward.c:103,2'
          Dst:             my_syslog
    - functionName:    forward_query
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 623
      functionDepth:   0
      returnType:      void
      argCount:        11
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         176
      ICount:          995
      EdgeCount:       244
      CyclomaticComplexity: 70
      functionsReached:
        - __bswap_16
        - __errno_location
        - add_pseudoheader
        - allocate_rfd
        - blockdata_alloc
        - blockdata_retrieve
        - check_for_local_domain
        - difftime
        - dnsmasq_milliseconds
        - domain_no_rebind
        - dump_packet_udp
        - extract_name
        - extract_request
        - filter_servers
        - free_frec
        - get_id
        - get_new_frec
        - is_local_answer
        - log_query_mysockaddr
        - lookup_domain
        - lookup_frec
        - make_local_answer
        - query_full
        - rand32
        - retry_send
        - sa_len
        - send_from
        - sendto
        - sockaddr_isequal
        - strchr
        - whine_malloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:181,13'
          Dst:             extract_request
        - Src:             'forward.c:181,13'
          Dst:             extract_request
        - Src:             'forward.c:195,34'
          Dst:             lookup_frec
        - Src:             'forward.c:202,27'
          Dst:             __bswap_16
        - Src:             'forward.c:207,7'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:212,6'
          Dst:             sockaddr_isequal
        - Src:             'forward.c:229,33'
          Dst:             whine_malloc
        - Src:             'forward.c:239,8'
          Dst:             query_full
        - Src:             'forward.c:246,12'
          Dst:             difftime
        - Src:             'forward.c:247,3'
          Dst:             free_frec
        - Src:             'forward.c:267,8'
          Dst:             extract_name
        - Src:             'forward.c:298,22'
          Dst:             whine_malloc
        - Src:             'forward.c:321,8'
          Dst:             difftime
        - Src:             'forward.c:326,20'
          Dst:             __bswap_16
        - Src:             'forward.c:346,11'
          Dst:             lookup_domain
        - Src:             'forward.c:347,10'
          Dst:             is_local_answer
        - Src:             'forward.c:359,5'
          Dst:             strchr
        - Src:             'forward.c:361,10'
          Dst:             check_for_local_domain
        - Src:             'forward.c:369,23'
          Dst:             get_new_frec
        - Src:             'forward.c:388,35'
          Dst:             __bswap_16
        - Src:             'forward.c:389,25'
          Dst:             get_id
        - Src:             'forward.c:390,20'
          Dst:             __bswap_16
        - Src:             'forward.c:391,99'
          Dst:             rand32
        - Src:             'forward.c:394,12'
          Dst:             extract_name
        - Src:             'forward.c:398,30'
          Dst:             blockdata_alloc
        - Src:             'forward.c:400,4'
          Dst:             free_frec
        - Src:             'forward.c:413,11'
          Dst:             domain_no_rebind
        - Src:             'forward.c:428,8'
          Dst:             difftime
        - Src:             'forward.c:477,9'
          Dst:             filter_servers
        - Src:             'forward.c:517,10'
          Dst:             add_pseudoheader
        - Src:             'forward.c:528,17'
          Dst:             allocate_rfd
        - Src:             'forward.c:538,5'
          Dst:             sa_len
        - Src:             'forward.c:536,19'
          Dst:             sendto
        - Src:             'forward.c:536,8'
          Dst:             retry_send
        - Src:             'forward.c:541,8'
          Dst:             __errno_location
        - Src:             'forward.c:544,8'
          Dst:             dump_packet_udp
        - Src:             'forward.c:556,4'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:580,36'
          Dst:             dnsmasq_milliseconds
        - Src:             'forward.c:585,16'
          Dst:             __bswap_16
        - Src:             'forward.c:586,3'
          Dst:             free_frec
        - Src:             'forward.c:592,20'
          Dst:             make_local_answer
        - Src:             'forward.c:597,15'
          Dst:             __bswap_16
        - Src:             'forward.c:600,13'
          Dst:             add_pseudoheader
        - Src:             'forward.c:602,13'
          Dst:             add_pseudoheader
        - Src:             'forward.c:616,7'
          Dst:             dump_packet_udp
        - Src:             'forward.c:618,7'
          Dst:             send_from
    - functionName:    lookup_frec
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3200
      functionLinenumberEnd: 3261
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - size_t
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          204
      EdgeCount:       61
      CyclomaticComplexity: 19
      functionsReached:
        - blockdata_retrieve
        - difftime
        - extract_name
        - my_syslog
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3218,12'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:3224,12'
          Dst:             extract_name
        - Src:             'forward.c:3243,3'
          Dst:             my_syslog
        - Src:             'forward.c:3254,6'
          Dst:             difftime
    - functionName:    sendmsg
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    flip_queryname
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1311
      functionLinenumberEnd: 1340
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          63
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - extract_name
        - xor_array
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:1337,3'
          Dst:             xor_array
        - Src:             'forward.c:1338,3'
          Dst:             extract_name
        - Src:             'forward.c:1339,3'
          Dst:             xor_array
    - functionName:    return_reply
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1343
      functionLinenumberEnd: 1519
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         59
      ICount:          346
      EdgeCount:       79
      CyclomaticComplexity: 22
      functionsReached:
        - __bswap_16
        - dump_packet_udp
        - find_pseudoheader
        - flip_queryname
        - free_frec
        - log_query
        - process_reply
        - resize_packet
        - send_from
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:1426,13'
          Dst:             process_reply
        - Src:             'forward.c:1436,17'
          Dst:             __bswap_16
        - Src:             'forward.c:1453,6'
          Dst:             flip_queryname
        - Src:             'forward.c:1461,5'
          Dst:             send_from
        - Src:             'forward.c:1464,5'
          Dst:             dump_packet_udp
        - Src:             'forward.c:1474,5'
          Dst:             log_query
        - Src:             'forward.c:1483,29'
          Dst:             find_pseudoheader
        - Src:             'forward.c:1485,22'
          Dst:             __bswap_16
        - Src:             'forward.c:1489,10'
          Dst:             resize_packet
        - Src:             'forward.c:1493,4'
          Dst:             log_query
        - Src:             'forward.c:1496,4'
          Dst:             flip_queryname
        - Src:             'forward.c:1502,3'
          Dst:             flip_queryname
        - Src:             'forward.c:1506,18'
          Dst:             __bswap_16
        - Src:             'forward.c:1507,5'
          Dst:             send_from
        - Src:             'forward.c:1511,5'
          Dst:             dump_packet_udp
        - Src:             'forward.c:1518,3'
          Dst:             free_frec
    - functionName:    reply_query
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1142
      functionLinenumberEnd: 1299
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         68
      ICount:          419
      EdgeCount:       95
      CyclomaticComplexity: 29
      functionsReached:
        - __bswap_16
        - blockdata_retrieve
        - check_for_ignored_address
        - dnsmasq_milliseconds
        - dump_packet_udp
        - extract_name
        - filter_servers
        - forward_query
        - free_rfds
        - lookup_frec
        - recvfrom
        - return_reply
        - sockaddr_isequal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:1149,15'
          Dst:             recvfrom
        - Src:             'forward.c:1164,72'
          Dst:             __bswap_16
        - Src:             'forward.c:1168,8'
          Dst:             extract_name
        - Src:             'forward.c:1173,69'
          Dst:             __bswap_16
        - Src:             'forward.c:1173,19'
          Dst:             lookup_frec
        - Src:             'forward.c:1176,3'
          Dst:             filter_servers
        - Src:             'forward.c:1205,9'
          Dst:             sockaddr_isequal
        - Src:             'forward.c:1224,3'
          Dst:             dump_packet_udp
        - Src:             'forward.c:1229,7'
          Dst:             check_for_ignored_address
        - Src:             'forward.c:1246,7'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:1248,7'
          Dst:             forward_query
        - Src:             'forward.c:1268,3'
          Dst:             free_rfds
        - Src:             'forward.c:1272,28'
          Dst:             dnsmasq_milliseconds
        - Src:             'forward.c:1274,28'
          Dst:             dnsmasq_milliseconds
        - Src:             'forward.c:1279,10'
          Dst:             extract_name
        - Src:             'forward.c:1298,5'
          Dst:             return_reply
    - functionName:    fast_retry
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 670
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          127
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - blockdata_retrieve
        - difftime
        - dnsmasq_milliseconds
        - forward_query
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:635,20'
          Dst:             dnsmasq_milliseconds
        - Src:             'forward.c:638,19'
          Dst:             difftime
        - Src:             'forward.c:656,3'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:661,3'
          Dst:             forward_query
    - functionName:    helper_write
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 946
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          66
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:934,13'
          Dst:             write
        - Src:             'helper.c:942,11'
          Dst:             __errno_location
    - functionName:    write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    helper_buf_empty
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 924
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_arp
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 901
      functionLinenumberEnd: 920
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - buff_alloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:906,3'
          Dst:             buff_alloc
    - functionName:    buff_alloc
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 758
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          53
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - whine_malloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:767,19'
          Dst:             whine_malloc
    - functionName:    queue_tftp
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 874
      functionLinenumberEnd: 897
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - buff_alloc
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:881,18'
          Dst:             strlen
        - Src:             'helper.c:882,3'
          Dst:             buff_alloc
    - functionName:    queue_relay_snoop
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 850
      functionLinenumberEnd: 868
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buff_alloc
        - indextoname
        - inet_ntop
        - sprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:855,3'
          Dst:             inet_ntop
        - Src:             'helper.c:858,3'
          Dst:             buff_alloc
        - Src:             'helper.c:863,23'
          Dst:             sprintf
        - Src:             'helper.c:865,3'
          Dst:             indextoname
    - functionName:    queue_script
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 846
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          213
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - buff_alloc
        - difftime
        - indextoname
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:796,20'
          Dst:             strlen
        - Src:             'helper.c:798,3'
          Dst:             buff_alloc
        - Src:             'helper.c:815,8'
          Dst:             indextoname
        - Src:             'helper.c:825,41'
          Dst:             difftime
    - functionName:    grab_extradata
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 705
      functionLinenumberEnd: 732
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          65
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - my_setenv
        - strchr
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:724,13'
          Dst:             strchr
        - Src:             'helper.c:730,3'
          Dst:             my_setenv
        - Src:             'helper.c:730,3'
          Dst:             my_setenv
    - functionName:    my_setenv
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 694
      functionLinenumberEnd: 702
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          41
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - setenv
        - unsetenv
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:698,2'
          Dst:             unsetenv
        - Src:             'helper.c:699,16'
          Dst:             setenv
        - Src:             'helper.c:700,11'
          Dst:             __errno_location
    - functionName:    unsetenv
      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:    setenv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    create_helper
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 691
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         238
      ICount:          1227
      EdgeCount:       324
      CyclomaticComplexity: 88
      functionsReached:
        - __errno_location
        - _exit
        - close
        - close_fds
        - dup2
        - execl
        - fclose
        - fcntl64
        - fdopen
        - fgets
        - fix_fd
        - fork
        - grab_extradata
        - inet_ntop
        - legal_hostname
        - my_setenv
        - pipe
        - read_write
        - send_event
        - setgid
        - setgroups
        - setuid
        - sigaction
        - sigemptyset
        - sleep
        - sprintf
        - strchr
        - strcpy
        - strlen
        - strrchr
        - wait
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:88,7'
          Dst:             pipe
        - Src:             'helper.c:88,30'
          Dst:             fix_fd
        - Src:             'helper.c:88,58'
          Dst:             fork
        - Src:             'helper.c:90,42'
          Dst:             __errno_location
        - Src:             'helper.c:90,7'
          Dst:             send_event
        - Src:             'helper.c:91,7'
          Dst:             _exit
        - Src:             'helper.c:96,7'
          Dst:             close
        - Src:             'helper.c:104,3'
          Dst:             sigemptyset
        - Src:             'helper.c:105,3'
          Dst:             sigaction
        - Src:             'helper.c:106,3'
          Dst:             sigaction
        - Src:             'helper.c:107,3'
          Dst:             sigaction
        - Src:             'helper.c:112,11'
          Dst:             setgroups
        - Src:             'helper.c:113,4'
          Dst:             setgid
        - Src:             'helper.c:114,4'
          Dst:             setuid
        - Src:             'helper.c:118,43'
          Dst:             __errno_location
        - Src:             'helper.c:122,8'
          Dst:             send_event
        - Src:             'helper.c:124,43'
          Dst:             __errno_location
        - Src:             'helper.c:0,0'
          Dst:             send_event
        - Src:             'helper.c:126,4'
          Dst:             _exit
        - Src:             'helper.c:134,3'
          Dst:             close_fds
        - Src:             'helper.c:179,5'
          Dst:             close
        - Src:             'helper.c:199,12'
          Dst:             read_write
        - Src:             'helper.c:209,4'
          Dst:             _exit
        - Src:             'helper.c:247,7'
          Dst:             sprintf
        - Src:             'helper.c:250,9'
          Dst:             sprintf
        - Src:             'helper.c:260,12'
          Dst:             read_write
        - Src:             'helper.c:267,9'
          Dst:             sprintf
        - Src:             'helper.c:276,4'
          Dst:             sprintf
        - Src:             'helper.c:279,13'
          Dst:             sprintf
        - Src:             'helper.c:296,13'
          Dst:             legal_hostname
        - Src:             'helper.c:298,24'
          Dst:             strchr
        - Src:             'helper.c:311,2'
          Dst:             inet_ntop
        - Src:             'helper.c:309,2'
          Dst:             inet_ntop
        - Src:             'helper.c:316,2'
          Dst:             sprintf
        - Src:             'helper.c:505,38'
          Dst:             pipe
        - Src:             'helper.c:509,21'
          Dst:             fork
        - Src:             'helper.c:509,39'
          Dst:             __errno_location
        - Src:             'helper.c:510,2'
          Dst:             sleep
        - Src:             'helper.c:516,8'
          Dst:             close
        - Src:             'helper.c:517,8'
          Dst:             close
        - Src:             'helper.c:529,8'
          Dst:             close
        - Src:             'helper.c:532,19'
          Dst:             fdopen
        - Src:             'helper.c:533,3'
          Dst:             close
        - Src:             'helper.c:536,12'
          Dst:             fgets
        - Src:             'helper.c:539,22'
          Dst:             strlen
        - Src:             'helper.c:546,9'
          Dst:             send_event
        - Src:             'helper.c:548,5'
          Dst:             fclose
        - Src:             'helper.c:556,19'
          Dst:             wait
        - Src:             'helper.c:562,7'
          Dst:             send_event
        - Src:             'helper.c:564,7'
          Dst:             send_event
        - Src:             'helper.c:568,24'
          Dst:             __errno_location
        - Src:             'helper.c:578,4'
          Dst:             close
        - Src:             'helper.c:579,4'
          Dst:             dup2
        - Src:             'helper.c:580,4'
          Dst:             dup2
        - Src:             'helper.c:581,4'
          Dst:             close
        - Src:             'helper.c:587,4'
          Dst:             my_setenv
        - Src:             'helper.c:588,4'
          Dst:             my_setenv
        - Src:             'helper.c:589,4'
          Dst:             my_setenv
        - Src:             'helper.c:587,4'
          Dst:             my_setenv
        - Src:             'helper.c:588,4'
          Dst:             my_setenv
        - Src:             'helper.c:589,4'
          Dst:             my_setenv
        - Src:             'helper.c:592,4'
          Dst:             my_setenv
        - Src:             'helper.c:593,4'
          Dst:             my_setenv
        - Src:             'helper.c:599,4'
          Dst:             sprintf
        - Src:             'helper.c:600,4'
          Dst:             my_setenv
        - Src:             'helper.c:603,4'
          Dst:             my_setenv
        - Src:             'helper.c:609,6'
          Dst:             my_setenv
        - Src:             'helper.c:612,12'
          Dst:             grab_extradata
        - Src:             'helper.c:628,10'
          Dst:             grab_extradata
        - Src:             'helper.c:632,14'
          Dst:             grab_extradata
        - Src:             'helper.c:633,14'
          Dst:             grab_extradata
        - Src:             'helper.c:634,14'
          Dst:             grab_extradata
        - Src:             'helper.c:635,14'
          Dst:             grab_extradata
        - Src:             'helper.c:636,14'
          Dst:             grab_extradata
        - Src:             'helper.c:637,14'
          Dst:             grab_extradata
        - Src:             'helper.c:628,10'
          Dst:             grab_extradata
        - Src:             'helper.c:618,11'
          Dst:             grab_extradata
        - Src:             'helper.c:621,9'
          Dst:             sprintf
        - Src:             'helper.c:622,15'
          Dst:             grab_extradata
        - Src:             'helper.c:628,10'
          Dst:             grab_extradata
        - Src:             'helper.c:640,10'
          Dst:             grab_extradata
        - Src:             'helper.c:641,10'
          Dst:             grab_extradata
        - Src:             'helper.c:642,10'
          Dst:             grab_extradata
        - Src:             'helper.c:645,12'
          Dst:             grab_extradata
        - Src:             'helper.c:650,14'
          Dst:             inet_ntop
        - Src:             'helper.c:651,8'
          Dst:             my_setenv
        - Src:             'helper.c:656,8'
          Dst:             sprintf
        - Src:             'helper.c:657,14'
          Dst:             grab_extradata
        - Src:             'helper.c:660,4'
          Dst:             sprintf
        - Src:             'helper.c:661,4'
          Dst:             my_setenv
        - Src:             'helper.c:663,4'
          Dst:             my_setenv
        - Src:             'helper.c:667,4'
          Dst:             my_setenv
        - Src:             'helper.c:671,16'
          Dst:             fcntl64
        - Src:             'helper.c:672,2'
          Dst:             fcntl64
        - Src:             'helper.c:673,7'
          Dst:             close
        - Src:             'helper.c:676,2'
          Dst:             strcpy
        - Src:             'helper.c:678,12'
          Dst:             strrchr
        - Src:             'helper.c:681,4'
          Dst:             execl
        - Src:             'helper.c:685,10'
          Dst:             __errno_location
        - Src:             'helper.c:688,7'
          Dst:             send_event
        - Src:             'helper.c:689,7'
          Dst:             _exit
    - functionName:    sleep
      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:    fgets
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    wait
      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:    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:    102
      BranchProfiles:  []
      Callsites:       []
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    execl
      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:    inotify_check
      functionSourceFile: '/src/dnsmasq/src/inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         81
      ICount:          379
      EdgeCount:       111
      CyclomaticComplexity: 32
      functionsReached:
        - __errno_location
        - cache_remove_uid
        - dhcp_update_configs
        - dyndir_addhosts
        - lease_update_dns
        - lease_update_file
        - lease_update_from_configs
        - my_syslog
        - option_read_dynfile
        - read
        - read_hostsfile
        - strcat
        - strcmp
        - strcpy
        - strlen
        - whine_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'inotify.c:279,20'
          Dst:             read
        - Src:             'inotify.c:279,82'
          Dst:             __errno_location
        - Src:             'inotify.c:291,35'
          Dst:             strlen
        - Src:             'inotify.c:298,31'
          Dst:             strcmp
        - Src:             'inotify.c:307,17'
          Dst:             dyndir_addhosts
        - Src:             'inotify.c:309,33'
          Dst:             cache_remove_uid
        - Src:             'inotify.c:0,0'
          Dst:             my_syslog
        - Src:             'inotify.c:318,6'
          Dst:             my_syslog
        - Src:             'inotify.c:322,6'
          Dst:             read_hostsfile
        - Src:             'inotify.c:327,8'
          Dst:             dhcp_update_configs
        - Src:             'inotify.c:328,8'
          Dst:             lease_update_from_configs
        - Src:             'inotify.c:329,8'
          Dst:             lease_update_file
        - Src:             'inotify.c:330,8'
          Dst:             lease_update_dns
        - Src:             'inotify.c:340,32'
          Dst:             strlen
        - Src:             'inotify.c:340,19'
          Dst:             whine_malloc
        - Src:             'inotify.c:342,4'
          Dst:             strcpy
        - Src:             'inotify.c:343,4'
          Dst:             strlen
        - Src:             'inotify.c:344,4'
          Dst:             strcat
        - Src:             'inotify.c:346,4'
          Dst:             my_syslog
        - Src:             'inotify.c:348,37'
          Dst:             option_read_dynfile
        - Src:             'inotify.c:351,8'
          Dst:             dhcp_update_configs
        - Src:             'inotify.c:352,8'
          Dst:             lease_update_from_configs
        - Src:             'inotify.c:353,8'
          Dst:             lease_update_file
        - Src:             'inotify.c:354,8'
          Dst:             lease_update_dns
        - Src:             'inotify.c:358,6'
          Dst:             option_read_dynfile
    - functionName:    read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    81
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dyndir_addhosts
      functionSourceFile: '/src/dnsmasq/src/inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          104
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - strcat
        - strcmp
        - strcpy
        - strlen
        - whine_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'inotify.c:140,19'
          Dst:             strlen
        - Src:             'inotify.c:145,9'
          Dst:             strcmp
        - Src:             'inotify.c:149,13'
          Dst:             whine_malloc
        - Src:             'inotify.c:153,42'
          Dst:             strlen
        - Src:             'inotify.c:153,20'
          Dst:             whine_malloc
        - Src:             'inotify.c:159,7'
          Dst:             strcpy
        - Src:             'inotify.c:160,7'
          Dst:             strlen
        - Src:             'inotify.c:161,7'
          Dst:             strcat
    - functionName:    strcat
      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:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_dynamic_inotify
      functionSourceFile: '/src/dnsmasq/src/inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          268
      EdgeCount:       78
      CyclomaticComplexity: 24
      functionsReached:
        - __errno_location
        - closedir
        - dyndir_addhosts
        - inotify_add_watch
        - my_syslog
        - opendir
        - option_read_dynfile
        - read_hostsfile
        - readdir64
        - stat64
        - strcat
        - strcpy
        - strerror
        - strlen
        - whine_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'inotify.c:191,11'
          Dst:             stat64
        - Src:             'inotify.c:194,27'
          Dst:             __errno_location
        - Src:             'inotify.c:194,18'
          Dst:             strerror
        - Src:             'inotify.c:193,4'
          Dst:             my_syslog
        - Src:             'inotify.c:200,4'
          Dst:             my_syslog
        - Src:             'inotify.c:207,14'
          Dst:             inotify_add_watch
        - Src:             'inotify.c:213,43'
          Dst:             opendir
        - Src:             'inotify.c:216,28'
          Dst:             __errno_location
        - Src:             'inotify.c:216,19'
          Dst:             strerror
        - Src:             'inotify.c:215,5'
          Dst:             my_syslog
        - Src:             'inotify.c:220,22'
          Dst:             readdir64
        - Src:             'inotify.c:222,22'
          Dst:             strlen
        - Src:             'inotify.c:236,19'
          Dst:             dyndir_addhosts
        - Src:             'inotify.c:237,6'
          Dst:             stat64
        - Src:             'inotify.c:238,17'
          Dst:             read_hostsfile
        - Src:             'inotify.c:245,34'
          Dst:             strlen
        - Src:             'inotify.c:245,21'
          Dst:             whine_malloc
        - Src:             'inotify.c:247,6'
          Dst:             strcpy
        - Src:             'inotify.c:248,6'
          Dst:             strlen
        - Src:             'inotify.c:249,6'
          Dst:             strcat
        - Src:             'inotify.c:252,10'
          Dst:             stat64
        - Src:             'inotify.c:253,8'
          Dst:             option_read_dynfile
        - Src:             'inotify.c:261,8'
          Dst:             closedir
    - functionName:    inotify_add_watch
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    readdir64
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    my_readlink
      functionSourceFile: '/src/dnsmasq/src/inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          84
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - die
        - readlink
        - safe_malloc
        - strcat
        - strcpy
        - strlen
        - strrchr
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'inotify.c:50,13'
          Dst:             safe_malloc
        - Src:             'inotify.c:51,12'
          Dst:             readlink
        - Src:             'inotify.c:56,8'
          Dst:             __errno_location
        - Src:             'inotify.c:62,6'
          Dst:             die
        - Src:             'inotify.c:69,31'
          Dst:             strrchr
        - Src:             'inotify.c:72,49'
          Dst:             strlen
        - Src:             'inotify.c:72,24'
          Dst:             safe_malloc
        - Src:             'inotify.c:74,8'
          Dst:             strcpy
        - Src:             'inotify.c:75,8'
          Dst:             strcat
    - functionName:    readlink
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    inotify_dnsmasq_init
      functionSourceFile: '/src/dnsmasq/src/inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         63
      ICount:          282
      EdgeCount:       87
      CyclomaticComplexity: 26
      functionsReached:
        - __errno_location
        - die
        - inotify_add_watch
        - inotify_init1
        - my_readlink
        - safe_malloc
        - strcpy
        - strlen
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'inotify.c:91,20'
          Dst:             safe_malloc
        - Src:             'inotify.c:92,23'
          Dst:             inotify_init1
        - Src:             'inotify.c:95,5'
          Dst:             die
        - Src:             'inotify.c:102,47'
          Dst:             strlen
        - Src:             'inotify.c:102,35'
          Dst:             safe_malloc
        - Src:             'inotify.c:105,7'
          Dst:             strcpy
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:111,6'
          Dst:             die
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:108,26'
          Dst:             my_readlink
        - Src:             'inotify.c:118,16'
          Dst:             strrchr
        - Src:             'inotify.c:121,14'
          Dst:             inotify_add_watch
        - Src:             'inotify.c:126,25'
          Dst:             __errno_location
        - Src:             'inotify.c:127,6'
          Dst:             die
        - Src:             'inotify.c:131,2'
          Dst:             die
    - functionName:    inotify_init1
      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:    add_attr
      functionSourceFile: '/src/dnsmasq/src/ipset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    new_add_to_ipset
      functionSourceFile: '/src/dnsmasq/src/ipset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          99
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - add_attr
        - retry_send
        - sendto
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ipset.c:110,7'
          Dst:             strlen
        - Src:             'ipset.c:112,7'
          Dst:             __errno_location
        - Src:             'ipset.c:130,3'
          Dst:             add_attr
        - Src:             'ipset.c:131,37'
          Dst:             strlen
        - Src:             'ipset.c:131,3'
          Dst:             add_attr
        - Src:             'ipset.c:138,3'
          Dst:             add_attr
        - Src:             'ipset.c:144,21'
          Dst:             sendto
        - Src:             'ipset.c:144,10'
          Dst:             retry_send
        - Src:             'ipset.c:147,10'
          Dst:             __errno_location
    - functionName:    old_add_to_ipset
      functionSourceFile: '/src/dnsmasq/src/ipset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          70
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __bswap_32
        - __errno_location
        - getsockopt
        - setsockopt
        - strcpy
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ipset.c:169,7'
          Dst:             strlen
        - Src:             'ipset.c:171,7'
          Dst:             __errno_location
        - Src:             'ipset.c:177,3'
          Dst:             strcpy
        - Src:             'ipset.c:179,7'
          Dst:             getsockopt
        - Src:             'ipset.c:183,16'
          Dst:             __bswap_32
        - Src:             'ipset.c:184,7'
          Dst:             setsockopt
    - functionName:    getsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_to_ipset
      functionSourceFile: '/src/dnsmasq/src/ipset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          64
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - my_syslog
        - new_add_to_ipset
        - old_add_to_ipset
        - strerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ipset.c:202,4'
          Dst:             __errno_location
        - Src:             'ipset.c:208,24'
          Dst:             old_add_to_ipset
        - Src:             'ipset.c:208,68'
          Dst:             new_add_to_ipset
        - Src:             'ipset.c:211,79'
          Dst:             __errno_location
        - Src:             'ipset.c:211,70'
          Dst:             strerror
        - Src:             'ipset.c:211,6'
          Dst:             my_syslog
    - functionName:    ipset_init
      functionSourceFile: '/src/dnsmasq/src/ipset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          75
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - bind
        - die
        - safe_malloc
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ipset.c:90,35'
          Dst:             socket
        - Src:             'ipset.c:94,17'
          Dst:             safe_malloc
        - Src:             'ipset.c:95,21'
          Dst:             socket
        - Src:             'ipset.c:96,8'
          Dst:             bind
        - Src:             'ipset.c:99,3'
          Dst:             die
    - functionName:    bind
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease_add_extradata
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1313
      functionLinenumberEnd: 1343
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          114
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - whine_realloc
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1330,28'
          Dst:             whine_realloc
    - functionName:    do_script_run
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1217
      functionLinenumberEnd: 1308
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          198
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - kill_name
        - queue_script
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1237,4'
          Dst:             queue_script
        - Src:             'lease.c:1253,4'
          Dst:             kill_name
        - Src:             'lease.c:1255,4'
          Dst:             queue_script
        - Src:             'lease.c:1278,2'
          Dst:             queue_script
        - Src:             'lease.c:1291,2'
          Dst:             queue_script
    - functionName:    kill_name
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1022
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rerun_scripts
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1204
      functionLinenumberEnd: 1209
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          29
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease_set_vendorclass
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1184
      functionLinenumberEnd: 1200
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          78
      EdgeCount:       26
      CyclomaticComplexity: 9
      functionsReached:
        - memcmp
        - whine_malloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1188,69'
          Dst:             memcmp
        - Src:             'lease.c:1195,36'
          Dst:             whine_malloc
    - 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:    35
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease_set_agent_id
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1164
      functionLinenumberEnd: 1181
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          78
      EdgeCount:       26
      CyclomaticComplexity: 9
      functionsReached:
        - memcmp
        - whine_malloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1169,63'
          Dst:             memcmp
        - Src:             'lease.c:1176,33'
          Dst:             whine_malloc
    - functionName:    lease_calc_fqdns
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1025
      functionLinenumberEnd: 1052
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          86
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - get_domain
        - get_domain6
        - safe_malloc
        - strcat
        - strcpy
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1036,15'
          Dst:             get_domain6
        - Src:             'lease.c:1039,15'
          Dst:             get_domain
        - Src:             'lease.c:1044,34'
          Dst:             strlen
        - Src:             'lease.c:1044,60'
          Dst:             strlen
        - Src:             'lease.c:1044,22'
          Dst:             safe_malloc
        - Src:             'lease.c:1046,8'
          Dst:             strcpy
        - Src:             'lease.c:1047,8'
          Dst:             strlen
        - Src:             'lease.c:1048,8'
          Dst:             strcat
    - functionName:    lease_set_hwaddr
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 943
      functionLinenumberEnd: 1000
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          160
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - memcmp
        - slaac_add_addrs
        - whine_malloc
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:954,23'
          Dst:             memcmp
        - Src:             'lease.c:977,24'
          Dst:             whine_malloc
        - Src:             'lease.c:983,16'
          Dst:             memcmp
        - Src:             'lease.c:998,5'
          Dst:             slaac_add_addrs
    - functionName:    lease_set_iaid
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          22
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease_set_expires
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 891
      functionLinenumberEnd: 927
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          52
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - difftime
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:905,11'
          Dst:             difftime
    - functionName:    lease6_allocate
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 874
      functionLinenumberEnd: 886
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lease_allocate
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:875,30'
          Dst:             lease_allocate
    - functionName:    lease_allocate
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 839
      functionLinenumberEnd: 858
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - whine_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:841,33'
          Dst:             whine_malloc
    - functionName:    lease4_allocate
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 869
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lease_allocate
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:862,30'
          Dst:             lease_allocate
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease_find_max_addr
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 818
      functionLinenumberEnd: 836
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          90
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:829,17'
          Dst:             __bswap_32
        - Src:             'lease.c:829,57'
          Dst:             __bswap_32
        - Src:             'lease.c:830,58'
          Dst:             __bswap_32
        - Src:             'lease.c:831,57'
          Dst:             __bswap_32
    - functionName:    lease_find_max_addr6
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 811
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          98
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - addr6part
        - is_same_net6
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:796,14'
          Dst:             addr6part
        - Src:             'lease.c:804,6'
          Dst:             is_same_net6
        - Src:             'lease.c:805,6'
          Dst:             addr6part
        - Src:             'lease.c:805,33'
          Dst:             addr6part
        - Src:             'lease.c:806,6'
          Dst:             addr6part
        - Src:             'lease.c:806,34'
          Dst:             addr6part
        - Src:             'lease.c:807,6'
          Dst:             addr6part
        - Src:             'lease.c:808,11'
          Dst:             addr6part
    - functionName:    lease6_find_by_plain_addr
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 777
      functionLinenumberEnd: 790
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          83
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease6_find_by_addr
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 760
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          71
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - addr6part
        - is_same_net6
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:768,11'
          Dst:             is_same_net6
        - Src:             'lease.c:769,22'
          Dst:             addr6part
    - functionName:    lease6_find_by_client
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 733
      functionLinenumberEnd: 757
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          95
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:750,5'
          Dst:             memcmp
    - functionName:    lease6_reset
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 722
      functionLinenumberEnd: 727
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          29
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease6_find
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 699
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          118
      EdgeCount:       36
      CyclomaticComplexity: 12
      functionsReached:
        - memcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:711,5'
          Dst:             memcmp
    - functionName:    lease_find_by_addr
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          49
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease_find_by_client
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 645
      functionLinenumberEnd: 675
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          164
      EdgeCount:       58
      CyclomaticComplexity: 18
      functionsReached:
        - memcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:656,6'
          Dst:             memcmp
        - Src:             'lease.c:670,4'
          Dst:             memcmp
    - functionName:    lease_update_dns
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 557
      functionLinenumberEnd: 611
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         54
      ICount:          227
      EdgeCount:       73
      CyclomaticComplexity: 21
      functionsReached:
        - cache_add_dhcp_entry
        - cache_unhash_dhcp
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:567,7'
          Dst:             cache_unhash_dhcp
        - Src:             'lease.c:584,9'
          Dst:             cache_add_dhcp_entry
        - Src:             'lease.c:586,9'
          Dst:             cache_add_dhcp_entry
        - Src:             'lease.c:591,6'
          Dst:             cache_add_dhcp_entry
        - Src:             'lease.c:596,6'
          Dst:             cache_add_dhcp_entry
    - functionName:    lease_make_duid
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 550
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          35
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - make_duid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:548,7'
          Dst:             make_duid
    - functionName:    lease_set_interface
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1149
      functionLinenumberEnd: 1161
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - slaac_add_addrs
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1159,3'
          Dst:             slaac_add_addrs
    - functionName:    find_interface_v6
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          67
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - is_same_net6
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:486,11'
          Dst:             is_same_net6
    - functionName:    find_interface_v4
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 468
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          69
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - is_same_net
        - netmask_length
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:453,16'
          Dst:             netmask_length
        - Src:             'lease.c:461,2'
          Dst:             is_same_net
    - functionName:    lease_find_interfaces
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 525
      functionLinenumberEnd: 539
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          76
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - find_interface_v4
        - find_interface_v6
        - iface_enumerate
        - lease_set_interface
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:531,3'
          Dst:             iface_enumerate
        - Src:             'lease.c:531,3'
          Dst:             find_interface_v4
        - Src:             'lease.c:533,3'
          Dst:             iface_enumerate
        - Src:             'lease.c:533,3'
          Dst:             find_interface_v6
        - Src:             'lease.c:538,7'
          Dst:             lease_set_interface
    - functionName:    lease_update_slaac
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 506
      functionLinenumberEnd: 515
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          42
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - slaac_add_addrs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:514,7'
          Dst:             slaac_add_addrs
    - functionName:    lease_ping_reply
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 503
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - slaac_ping_reply
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:502,5'
          Dst:             slaac_ping_reply
    - functionName:    ourprintf
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - vfprintf
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:273,19'
          Dst:             vfprintf
        - Src:             'lease.c:274,13'
          Dst:             __errno_location
    - functionName:    vfprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease_update_file
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         158
      ICount:          769
      EdgeCount:       214
      CyclomaticComplexity: 58
      functionsReached:
        - __errno_location
        - difftime
        - fflush
        - fileno
        - fsync
        - ftruncate64
        - inet_ntop
        - my_syslog
        - ourprintf
        - periodic_ra
        - periodic_slaac
        - rewind
        - send_alarm
        - strerror
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:286,7'
          Dst:             __errno_location
        - Src:             'lease.c:287,7'
          Dst:             rewind
        - Src:             'lease.c:288,35'
          Dst:             fileno
        - Src:             'lease.c:288,25'
          Dst:             ftruncate64
        - Src:             'lease.c:304,4'
          Dst:             ourprintf
        - Src:             'lease.c:308,6'
          Dst:             ourprintf
        - Src:             'lease.c:311,8'
          Dst:             ourprintf
        - Src:             'lease.c:313,3'
          Dst:             ourprintf
        - Src:             'lease.c:316,4'
          Dst:             inet_ntop
        - Src:             'lease.c:318,4'
          Dst:             ourprintf
        - Src:             'lease.c:319,4'
          Dst:             ourprintf
        - Src:             'lease.c:324,3'
          Dst:             ourprintf
        - Src:             'lease.c:325,8'
          Dst:             ourprintf
        - Src:             'lease.c:328,6'
          Dst:             ourprintf
        - Src:             'lease.c:334,4'
          Dst:             ourprintf
        - Src:             'lease.c:336,6'
          Dst:             ourprintf
        - Src:             'lease.c:337,4'
          Dst:             ourprintf
        - Src:             'lease.c:348,8'
          Dst:             ourprintf
        - Src:             'lease.c:351,8'
          Dst:             inet_ntop
        - Src:             'lease.c:353,8'
          Dst:             ourprintf
        - Src:             'lease.c:355,8'
          Dst:             ourprintf
        - Src:             'lease.c:360,7'
          Dst:             ourprintf
        - Src:             'lease.c:361,5'
          Dst:             ourprintf
        - Src:             'lease.c:364,3'
          Dst:             ourprintf
        - Src:             'lease.c:0,0'
          Dst:             inet_ntop
        - Src:             'lease.c:383,5'
          Dst:             ourprintf
        - Src:             'lease.c:385,7'
          Dst:             ourprintf
        - Src:             'lease.c:386,5'
          Dst:             ourprintf
        - Src:             'lease.c:391,5'
          Dst:             ourprintf
        - Src:             'lease.c:393,7'
          Dst:             ourprintf
        - Src:             'lease.c:394,5'
          Dst:             ourprintf
        - Src:             'lease.c:399,11'
          Dst:             fflush
        - Src:             'lease.c:400,10'
          Dst:             fileno
        - Src:             'lease.c:400,4'
          Dst:             fsync
        - Src:             'lease.c:416,20'
          Dst:             periodic_slaac
        - Src:             'lease.c:422,20'
          Dst:             periodic_ra
        - Src:             'lease.c:422,20'
          Dst:             periodic_ra
        - Src:             'lease.c:424,27'
          Dst:             difftime
        - Src:             'lease.c:432,22'
          Dst:             difftime
        - Src:             'lease.c:437,30'
          Dst:             difftime
        - Src:             'lease.c:441,23'
          Dst:             strerror
        - Src:             'lease.c:442,17'
          Dst:             difftime
        - Src:             'lease.c:440,7'
          Dst:             my_syslog
        - Src:             'lease.c:445,3'
          Dst:             send_alarm
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fileno
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ftruncate64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fflush
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    lease_set_hostname
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1055
      functionLinenumberEnd: 1146
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         79
      ICount:          334
      EdgeCount:       110
      CyclomaticComplexity: 33
      functionsReached:
        - hostname_isequal
        - kill_name
        - memcmp
        - my_syslog
        - strcat
        - strcpy
        - strlen
        - whine_malloc
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1059,37'
          Dst:             hostname_isequal
        - Src:             'lease.c:1060,5'
          Dst:             my_syslog
        - Src:             'lease.c:1062,34'
          Dst:             hostname_isequal
        - Src:             'lease.c:1082,36'
          Dst:             strlen
        - Src:             'lease.c:1082,23'
          Dst:             whine_malloc
        - Src:             'lease.c:1084,4'
          Dst:             strcpy
        - Src:             'lease.c:1085,43'
          Dst:             strlen
        - Src:             'lease.c:1085,62'
          Dst:             strlen
        - Src:             'lease.c:1085,30'
          Dst:             whine_malloc
        - Src:             'lease.c:1087,8'
          Dst:             strcpy
        - Src:             'lease.c:1088,8'
          Dst:             strlen
        - Src:             'lease.c:1089,8'
          Dst:             strcat
        - Src:             'lease.c:1098,46'
          Dst:             hostname_isequal
        - Src:             'lease.c:1103,50'
          Dst:             hostname_isequal
        - Src:             'lease.c:1115,5'
          Dst:             memcmp
        - Src:             'lease.c:1128,4'
          Dst:             kill_name
        - Src:             'lease.c:1135,5'
          Dst:             kill_name
    - functionName:    lease_update_from_configs
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         25
      ICount:          117
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - find_config
        - get_domain
        - host_from_dns
        - lease_set_hostname
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:259,24'
          Dst:             find_config
        - Src:             'lease.c:264,22'
          Dst:             host_from_dns
        - Src:             'lease.c:0,0'
          Dst:             get_domain
        - Src:             'lease.c:0,0'
          Dst:             lease_set_hostname
    - functionName:    lease_prune
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          99
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - difftime
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:620,35'
          Dst:             difftime
    - functionName:    read_leases
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         58
      ICount:          374
      EdgeCount:       79
      CyclomaticComplexity: 23
      functionsReached:
        - __isoc99_fscanf
        - atol
        - die
        - inet_pton
        - lease4_allocate
        - lease6_allocate
        - lease6_find_by_plain_addr
        - lease_find_by_addr
        - lease_set_agent_id
        - lease_set_hostname
        - lease_set_hwaddr
        - lease_set_iaid
        - lease_set_vendorclass
        - my_syslog
        - parse_hex
        - safe_malloc
        - strcmp
        - strtoul
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:42,19'
          Dst:             __isoc99_fscanf
        - Src:             'lease.c:48,6'
          Dst:             strcmp
        - Src:             'lease.c:50,25'
          Dst:             parse_hex
        - Src:             'lease.c:53,21'
          Dst:             safe_malloc
        - Src:             'lease.c:60,7'
          Dst:             strcmp
        - Src:             'lease.c:60,57'
          Dst:             strcmp
        - Src:             'lease.c:62,10'
          Dst:             __isoc99_fscanf
        - Src:             'lease.c:64,7'
          Dst:             inet_pton
        - Src:             'lease.c:65,13'
          Dst:             lease_find_by_addr
        - Src:             'lease.c:67,12'
          Dst:             inet_pton
        - Src:             'lease.c:68,13'
          Dst:             lease6_find_by_plain_addr
        - Src:             'lease.c:75,17'
          Dst:             parse_hex
        - Src:             'lease.c:77,11'
          Dst:             strcmp
        - Src:             'lease.c:78,9'
          Dst:             lease_set_vendorclass
        - Src:             'lease.c:79,16'
          Dst:             strcmp
        - Src:             'lease.c:80,9'
          Dst:             lease_set_agent_id
        - Src:             'lease.c:87,6'
          Dst:             __isoc99_fscanf
        - Src:             'lease.c:90,6'
          Dst:             my_syslog
        - Src:             'lease.c:96,6'
          Dst:             inet_pton
        - Src:             'lease.c:98,14'
          Dst:             lease4_allocate
        - Src:             'lease.c:101,15'
          Dst:             parse_hex
        - Src:             'lease.c:107,11'
          Dst:             inet_pton
        - Src:             'lease.c:118,19'
          Dst:             lease6_allocate
        - Src:             'lease.c:119,30'
          Dst:             strtoul
        - Src:             'lease.c:119,8'
          Dst:             lease_set_iaid
        - Src:             'lease.c:124,6'
          Dst:             my_syslog
        - Src:             'lease.c:131,4'
          Dst:             die
        - Src:             'lease.c:133,6'
          Dst:             strcmp
        - Src:             'lease.c:134,15'
          Dst:             parse_hex
        - Src:             'lease.c:136,2'
          Dst:             lease_set_hwaddr
        - Src:             'lease.c:139,6'
          Dst:             strcmp
        - Src:             'lease.c:140,4'
          Dst:             lease_set_hostname
        - Src:             'lease.c:142,7'
          Dst:             atol
    - functionName:    __isoc99_fscanf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lease_init
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         35
      ICount:          184
      EdgeCount:       43
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - die
        - ferror
        - fopen64
        - lease_prune
        - my_syslog
        - pclose
        - popen
        - read_leases
        - rewind
        - sprintf
        - strcpy
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:182,8'
          Dst:             strlen
        - Src:             'lease.c:183,6'
          Dst:             die
        - Src:             'lease.c:200,44'
          Dst:             fopen64
        - Src:             'lease.c:203,2'
          Dst:             die
        - Src:             'lease.c:206,7'
          Dst:             rewind
        - Src:             'lease.c:185,4'
          Dst:             strcpy
        - Src:             'lease.c:186,4'
          Dst:             strlen
        - Src:             'lease.c:187,18'
          Dst:             popen
        - Src:             'lease.c:211,12'
          Dst:             read_leases
        - Src:             'lease.c:212,2'
          Dst:             my_syslog
        - Src:             'lease.c:214,11'
          Dst:             ferror
        - Src:             'lease.c:215,2'
          Dst:             die
        - Src:             'lease.c:224,33'
          Dst:             pclose
        - Src:             'lease.c:0,0'
          Dst:             __errno_location
        - Src:             'lease.c:231,4'
          Dst:             die
        - Src:             'lease.c:236,4'
          Dst:             sprintf
        - Src:             'lease.c:237,4'
          Dst:             die
        - Src:             'lease.c:244,3'
          Dst:             lease_prune
    - 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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    popen
      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:    ferror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pclose
      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:    free_entry
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    die
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 493
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          43
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - exit
        - flush_log
        - fputc
        - my_syslog
        - strerror
      functionUses:    76
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:478,28'
          Dst:             __errno_location
        - Src:             'log.c:478,19'
          Dst:             strerror
        - Src:             'log.c:486,7'
          Dst:             fputc
        - Src:             'log.c:488,3'
          Dst:             my_syslog
        - Src:             'log.c:490,3'
          Dst:             my_syslog
        - Src:             'log.c:491,3'
          Dst:             flush_log
        - Src:             'log.c:493,3'
          Dst:             exit
    - functionName:    fputc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    my_syslog
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         64
      ICount:          313
      EdgeCount:       87
      CyclomaticComplexity: 25
      functionsReached:
        - ctime
        - fprintf
        - fputc
        - getpid
        - log_write
        - nanosleep
        - openlog
        - sprintf
        - time
        - vfprintf
        - vsnprintf
        - vsyslog
      functionUses:    197
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:297,15'
          Dst:             getpid
        - Src:             'log.c:322,7'
          Dst:             fprintf
        - Src:             'log.c:324,7'
          Dst:             vfprintf
        - Src:             'log.c:326,7'
          Dst:             fputc
        - Src:             'log.c:355,4'
          Dst:             openlog
        - Src:             'log.c:359,7'
          Dst:             vsyslog
        - Src:             'log.c:386,7'
          Dst:             time
        - Src:             'log.c:389,7'
          Dst:             sprintf
        - Src:             'log.c:393,28'
          Dst:             ctime
        - Src:             'log.c:393,7'
          Dst:             sprintf
        - Src:             'log.c:395,12'
          Dst:             sprintf
        - Src:             'log.c:399,14'
          Dst:             vsnprintf
        - Src:             'log.c:408,3'
          Dst:             log_write
        - Src:             'log.c:437,4'
          Dst:             nanosleep
        - Src:             'log.c:440,4'
          Dst:             log_write
    - functionName:    flush_log
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 458
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          56
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - close
        - log_write
        - nanosleep
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:464,7'
          Dst:             log_write
        - Src:             'log.c:467,4'
          Dst:             close
        - Src:             'log.c:472,7'
          Dst:             nanosleep
    - functionName:    log_write
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         66
      ICount:          286
      EdgeCount:       93
      CyclomaticComplexity: 29
      functionsReached:
        - __errno_location
        - connect
        - free_entry
        - getpid
        - log_reopen
        - my_syslog
        - safe_strncpy
        - strerror
        - write
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:184,27'
          Dst:             getpid
        - Src:             'log.c:186,4'
          Dst:             free_entry
        - Src:             'log.c:192,17'
          Dst:             write
        - Src:             'log.c:198,8'
          Dst:             free_entry
        - Src:             'log.c:203,5'
          Dst:             my_syslog
        - Src:             'log.c:209,11'
          Dst:             __errno_location
        - Src:             'log.c:228,12'
          Dst:             log_reopen
        - Src:             'log.c:248,8'
          Dst:             safe_strncpy
        - Src:             'log.c:251,12'
          Dst:             connect
        - Src:             'log.c:272,9'
          Dst:             log_reopen
        - Src:             'log.c:281,48'
          Dst:             strerror
        - Src:             'log.c:281,7'
          Dst:             my_syslog
    - functionName:    nanosleep
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_reopen
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          76
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - close
        - fcntl64
        - open64
        - socket
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:129,2'
          Dst:             close
        - Src:             'log.c:134,11'
          Dst:             open64
        - Src:             'log.c:144,13'
          Dst:             socket
        - Src:             'log.c:147,50'
          Dst:             fcntl64
        - Src:             'log.c:148,6'
          Dst:             fcntl64
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    openlog
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vsyslog
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    time
      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:    ctime
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_log_writer
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          40
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - log_write
        - poll_check
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:453,33'
          Dst:             poll_check
        - Src:             'log.c:454,5'
          Dst:             log_write
    - functionName:    set_log_writer
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          37
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - poll_listen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:448,5'
          Dst:             poll_listen
    - functionName:    log_start
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          204
      EdgeCount:       58
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - _exit
        - dup
        - fchmod
        - fchown
        - fstat64
        - getgid
        - log_reopen
        - safe_malloc
        - send_event
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:75,11'
          Dst:             strcmp
        - Src:             'log.c:79,13'
          Dst:             dup
        - Src:             'log.c:85,8'
          Dst:             log_reopen
        - Src:             'log.c:87,40'
          Dst:             __errno_location
        - Src:             'log.c:87,7'
          Dst:             send_event
        - Src:             'log.c:88,7'
          Dst:             _exit
        - Src:             'log.c:95,22'
          Dst:             safe_malloc
        - Src:             'log.c:114,11'
          Dst:             getgid
        - Src:             'log.c:114,28'
          Dst:             fstat64
        - Src:             'log.c:116,8'
          Dst:             fchmod
        - Src:             'log.c:117,11'
          Dst:             fchown
        - Src:             'log.c:118,8'
          Dst:             __errno_location
    - functionName:    dup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getgid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fchmod
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    detect_loop
      functionSourceFile: '/src/dnsmasq/src/loop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          211
      EdgeCount:       57
      CyclomaticComplexity: 19
      functionsReached:
        - __ctype_b_loc
        - check_servers
        - strlen
        - strstr
        - strtol
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'loop.c:90,39'
          Dst:             strlen
        - Src:             'loop.c:91,7'
          Dst:             strstr
        - Src:             'loop.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'loop.c:98,9'
          Dst:             strtol
        - Src:             'loop.c:106,2'
          Dst:             check_servers
    - functionName:    strstr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __ctype_b_loc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strtol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    loop_make_probe
      functionSourceFile: '/src/dnsmasq/src/loop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_16
        - rand16
        - sprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'loop.c:59,16'
          Dst:             rand16
        - Src:             'loop.c:60,57'
          Dst:             __bswap_16
        - Src:             'loop.c:61,21'
          Dst:             __bswap_16
        - Src:             'loop.c:67,3'
          Dst:             sprintf
    - functionName:    loop_send_probes
      functionSourceFile: '/src/dnsmasq/src/loop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         22
      ICount:          101
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - allocate_rfd
        - free_rfds
        - loop_make_probe
        - retry_send
        - sa_len
        - sendto
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'loop.c:36,17'
          Dst:             loop_make_probe
        - Src:             'loop.c:41,13'
          Dst:             allocate_rfd
        - Src:             'loop.c:45,23'
          Dst:             sa_len
        - Src:             'loop.c:44,21'
          Dst:             sendto
        - Src:             'loop.c:44,10'
          Dst:             retry_send
        - Src:             'loop.c:48,4'
          Dst:             free_rfds
    - functionName:    netlink_multicast
      functionSourceFile: '/src/dnsmasq/src/netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - nl_multicast_state
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'netlink.c:369,3'
          Dst:             nl_multicast_state
    - functionName:    nl_multicast_state
      functionSourceFile: '/src/dnsmasq/src/netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          93
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - netlink_recv
        - nl_async
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'netlink.c:359,19'
          Dst:             netlink_recv
        - Src:             'netlink.c:359,19'
          Dst:             netlink_recv
        - Src:             'netlink.c:362,10'
          Dst:             nl_async
        - Src:             'netlink.c:363,12'
          Dst:             __errno_location
    - functionName:    netlink_recv
      functionSourceFile: '/src/dnsmasq/src/netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          132
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - expand_buf
        - recvmsg
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'netlink.c:114,20'
          Dst:             recvmsg
        - Src:             'netlink.c:115,7'
          Dst:             __errno_location
        - Src:             'netlink.c:123,12'
          Dst:             expand_buf
        - Src:             'netlink.c:127,6'
          Dst:             expand_buf
        - Src:             'netlink.c:132,20'
          Dst:             recvmsg
        - Src:             'netlink.c:132,70'
          Dst:             __errno_location
        - Src:             'netlink.c:143,7'
          Dst:             __errno_location
    - functionName:    nl_async
      functionSourceFile: '/src/dnsmasq/src/netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          129
      EdgeCount:       43
      CyclomaticComplexity: 14
      functionsReached:
        - my_syslog
        - queue_event
        - strerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'netlink.c:379,53'
          Dst:             strerror
        - Src:             'netlink.c:379,2'
          Dst:             my_syslog
        - Src:             'netlink.c:395,4'
          Dst:             queue_event
        - Src:             'netlink.c:402,7'
          Dst:             queue_event
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iface_enumerate
      functionSourceFile: '/src/dnsmasq/src/netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         165
      ICount:          772
      EdgeCount:       234
      CyclomaticComplexity: 71
      functionsReached:
        - __bswap_32
        - __errno_location
        - netlink_recv
        - nl_async
        - nl_multicast_state
        - retry_send
        - sendto
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'netlink.c:187,20'
          Dst:             sendto
        - Src:             'netlink.c:187,9'
          Dst:             retry_send
        - Src:             'netlink.c:190,7'
          Dst:             __errno_location
        - Src:             'netlink.c:195,18'
          Dst:             netlink_recv
        - Src:             'netlink.c:199,8'
          Dst:             nl_multicast_state
        - Src:             'netlink.c:195,18'
          Dst:             netlink_recv
        - Src:             'netlink.c:209,14'
          Dst:             nl_async
        - Src:             'netlink.c:232,24'
          Dst:             __bswap_32
    - functionName:    netlink_init
      functionSourceFile: '/src/dnsmasq/src/netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          101
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - bind
        - die
        - getsockname
        - safe_malloc
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'netlink.c:74,28'
          Dst:             socket
        - Src:             'netlink.c:76,11'
          Dst:             bind
        - Src:             'netlink.c:79,8'
          Dst:             __errno_location
        - Src:             'netlink.c:79,26'
          Dst:             bind
        - Src:             'netlink.c:85,7'
          Dst:             getsockname
        - Src:             'netlink.c:86,5'
          Dst:             die
        - Src:             'netlink.c:93,18'
          Dst:             safe_malloc
    - functionName:    make_sock
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 896
      functionLinenumberEnd: 982
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          235
      EdgeCount:       71
      CyclomaticComplexity: 22
      functionsReached:
        - __errno_location
        - bind
        - close
        - die
        - fix_fd
        - listen
        - my_syslog
        - prettyprint_addr
        - sa_len
        - set_ipv6pktinfo
        - setsockopt
        - socket
        - sprintf
        - strerror
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:900,13'
          Dst:             socket
        - Src:             'network.c:906,11'
          Dst:             __errno_location
        - Src:             'network.c:912,17'
          Dst:             __errno_location
        - Src:             'network.c:913,14'
          Dst:             prettyprint_addr
        - Src:             'network.c:915,2'
          Dst:             sprintf
        - Src:             'network.c:919,2'
          Dst:             close
        - Src:             'network.c:937,6'
          Dst:             die
        - Src:             'network.c:939,50'
          Dst:             strerror
        - Src:             'network.c:939,6'
          Dst:             my_syslog
        - Src:             'network.c:945,7'
          Dst:             setsockopt
        - Src:             'network.c:945,77'
          Dst:             fix_fd
        - Src:             'network.c:948,29'
          Dst:             setsockopt
        - Src:             'network.c:951,47'
          Dst:             sa_len
        - Src:             'network.c:951,13'
          Dst:             bind
        - Src:             'network.c:958,7'
          Dst:             setsockopt
        - Src:             'network.c:961,11'
          Dst:             listen
        - Src:             'network.c:969,8'
          Dst:             setsockopt
        - Src:             'network.c:978,13'
          Dst:             set_ipv6pktinfo
    - functionName:    fix_fd
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 885
      functionLinenumberEnd: 893
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          33
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - fcntl64
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:888,16'
          Dst:             fcntl64
        - Src:             'network.c:889,7'
          Dst:             fcntl64
    - functionName:    listen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_ipv6pktinfo
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 985
      functionLinenumberEnd: 1009
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - setsockopt
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:994,7'
          Dst:             setsockopt
        - Src:             'network.c:997,12'
          Dst:             __errno_location
        - Src:             'network.c:997,36'
          Dst:             setsockopt
    - functionName:    iface_allowed
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         238
      ICount:          1151
      EdgeCount:       326
      CyclomaticComplexity: 90
      functionsReached:
        - __bswap_32
        - __errno_location
        - iface_check
        - indextoname
        - ioctl
        - sockaddr_isequal
        - strcmp
        - strcpy
        - strlen
        - strncmp
        - whine_malloc
        - wildcard_match
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:257,8'
          Dst:             indextoname
        - Src:             'network.c:258,7'
          Dst:             ioctl
        - Src:             'network.c:269,16'
          Dst:             strcmp
        - Src:             'network.c:282,7'
          Dst:             whine_malloc
        - Src:             'network.c:303,42'
          Dst:             __bswap_32
        - Src:             'network.c:303,42'
          Dst:             __bswap_32
        - Src:             'network.c:314,8'
          Dst:             wildcard_match
        - Src:             'network.c:324,12'
          Dst:             whine_malloc
        - Src:             'network.c:344,12'
          Dst:             whine_malloc
        - Src:             'network.c:361,6'
          Dst:             strncmp
        - Src:             'network.c:388,14'
          Dst:             whine_malloc
        - Src:             'network.c:436,14'
          Dst:             whine_malloc
        - Src:             'network.c:461,28'
          Dst:             strncmp
        - Src:             'network.c:471,9'
          Dst:             whine_malloc
        - Src:             'network.c:492,9'
          Dst:             sockaddr_isequal
        - Src:             'network.c:506,18'
          Dst:             strcmp
        - Src:             'network.c:509,24'
          Dst:             whine_malloc
        - Src:             'network.c:511,33'
          Dst:             strlen
        - Src:             'network.c:511,20'
          Dst:             whine_malloc
        - Src:             'network.c:513,8'
          Dst:             strcpy
        - Src:             'network.c:524,8'
          Dst:             iface_check
        - Src:             'network.c:528,8'
          Dst:             iface_check
        - Src:             'network.c:540,24'
          Dst:             wildcard_match
        - Src:             'network.c:557,19'
          Dst:             wildcard_match
        - Src:             'network.c:563,16'
          Dst:             whine_malloc
        - Src:             'network.c:567,11'
          Dst:             ioctl
        - Src:             'network.c:582,39'
          Dst:             strlen
        - Src:             'network.c:582,26'
          Dst:             whine_malloc
        - Src:             'network.c:584,4'
          Dst:             strcpy
        - Src:             'network.c:593,3'
          Dst:             __errno_location
    - functionName:    indextoname
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 22
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          37
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ioctl
        - safe_strncpy
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:29,7'
          Dst:             ioctl
        - Src:             'network.c:32,3'
          Dst:             safe_strncpy
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iface_check
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         93
      ICount:          399
      EdgeCount:       131
      CyclomaticComplexity: 40
      functionsReached:
        - strcmp
        - wildcard_match
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:125,19'
          Dst:             wildcard_match
        - Src:             'network.c:153,24'
          Dst:             wildcard_match
        - Src:             'network.c:163,10'
          Dst:             strcmp
    - functionName:    newaddress
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1779
      functionLinenumberEnd: 1812
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         45
      ICount:          204
      EdgeCount:       61
      CyclomaticComplexity: 18
      functionsReached:
        - create_bound_listeners
        - dhcp_construct_contexts
        - enumerate_interfaces
        - join_multicast
        - lease_find_interfaces
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1788,5'
          Dst:             enumerate_interfaces
        - Src:             'network.c:1791,5'
          Dst:             create_bound_listeners
        - Src:             'network.c:1801,5'
          Dst:             join_multicast
        - Src:             'network.c:1804,5'
          Dst:             dhcp_construct_contexts
        - Src:             'network.c:1807,5'
          Dst:             lease_find_interfaces
    - functionName:    enumerate_interfaces
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 723
      functionLinenumberEnd: 881
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         105
      ICount:          447
      EdgeCount:       141
      CyclomaticComplexity: 38
      functionsReached:
        - __errno_location
        - clean_interfaces
        - close
        - iface_allowed_v4
        - iface_allowed_v6
        - iface_enumerate
        - ioctl
        - release_listener
        - safe_strncpy
        - socket
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:751,19'
          Dst:             socket
        - Src:             'network.c:764,2'
          Dst:             safe_strncpy
        - Src:             'network.c:765,6'
          Dst:             ioctl
        - Src:             'network.c:836,9'
          Dst:             iface_enumerate
        - Src:             'network.c:836,9'
          Dst:             iface_allowed_v6
        - Src:             'network.c:841,13'
          Dst:             iface_enumerate
        - Src:             'network.c:841,13'
          Dst:             iface_allowed_v4
        - Src:             'network.c:846,13'
          Dst:             __errno_location
        - Src:             'network.c:847,3'
          Dst:             close
        - Src:             'network.c:866,13'
          Dst:             release_listener
        - Src:             'network.c:874,2'
          Dst:             clean_interfaces
    - functionName:    create_bound_listeners
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1178
      functionLinenumberEnd: 1236
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         35
      ICount:          184
      EdgeCount:       48
      CyclomaticComplexity: 15
      functionsReached:
        - create_listeners
        - find_listener
        - my_syslog
        - prettyprint_addr
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1187,13'
          Dst:             find_listener
        - Src:             'network.c:1193,18'
          Dst:             create_listeners
        - Src:             'network.c:1205,14'
          Dst:             prettyprint_addr
        - Src:             'network.c:1206,3'
          Dst:             my_syslog
        - Src:             'network.c:1225,9'
          Dst:             create_listeners
        - Src:             'network.c:1232,17'
          Dst:             prettyprint_addr
        - Src:             'network.c:1233,6'
          Dst:             my_syslog
    - functionName:    join_multicast
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1308
      functionLinenumberEnd: 1364
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         53
      ICount:          253
      EdgeCount:       71
      CyclomaticComplexity: 20
      functionsReached:
        - __errno_location
        - die
        - inet_pton
        - my_syslog
        - setsockopt
        - strerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1329,6'
          Dst:             inet_pton
        - Src:             'network.c:1332,3'
          Dst:             setsockopt
        - Src:             'network.c:1333,14'
          Dst:             __errno_location
        - Src:             'network.c:1335,6'
          Dst:             inet_pton
        - Src:             'network.c:1338,3'
          Dst:             setsockopt
        - Src:             'network.c:1339,14'
          Dst:             __errno_location
        - Src:             'network.c:1341,6'
          Dst:             inet_pton
        - Src:             'network.c:1344,3'
          Dst:             setsockopt
        - Src:             'network.c:1345,14'
          Dst:             __errno_location
        - Src:             'network.c:1350,3'
          Dst:             __errno_location
        - Src:             'network.c:1354,5'
          Dst:             my_syslog
        - Src:             'network.c:1358,5'
          Dst:             die
        - Src:             'network.c:1360,40'
          Dst:             strerror
        - Src:             'network.c:1360,5'
          Dst:             my_syslog
    - functionName:    find_listener
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1169
      functionLinenumberEnd: 1175
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          44
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - sockaddr_isequal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1172,9'
          Dst:             sockaddr_isequal
    - functionName:    create_listeners
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1088
      functionLinenumberEnd: 1133
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          88
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __bswap_16
        - make_sock
        - safe_malloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1096,12'
          Dst:             make_sock
        - Src:             'network.c:1097,15'
          Dst:             make_sock
        - Src:             'network.c:0,0'
          Dst:             __bswap_16
        - Src:             'network.c:0,0'
          Dst:             make_sock
        - Src:             'network.c:1123,11'
          Dst:             safe_malloc
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iface_allowed_v6
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 623
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __bswap_16
        - __bswap_32
        - iface_allowed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:615,24'
          Dst:             __bswap_16
        - Src:             'network.c:617,7'
          Dst:             __bswap_32
        - Src:             'network.c:617,7'
          Dst:             __bswap_32
        - Src:             'network.c:622,10'
          Dst:             iface_allowed
    - functionName:    iface_allowed_v4
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 627
      functionLinenumberEnd: 645
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __bswap_16
        - __bswap_32
        - iface_allowed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:639,22'
          Dst:             __bswap_16
        - Src:             'network.c:0,0'
          Dst:             __bswap_32
        - Src:             'network.c:644,10'
          Dst:             iface_allowed
    - functionName:    release_listener
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 675
      functionLinenumberEnd: 720
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         35
      ICount:          173
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - close
        - my_syslog
        - prettyprint_addr
        - sockaddr_isequal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:680,21'
          Dst:             sockaddr_isequal
        - Src:             'network.c:704,14'
          Dst:             prettyprint_addr
        - Src:             'network.c:705,7'
          Dst:             my_syslog
        - Src:             'network.c:712,5'
          Dst:             close
        - Src:             'network.c:714,5'
          Dst:             close
        - Src:             'network.c:716,5'
          Dst:             close
    - functionName:    clean_interfaces
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 651
      functionLinenumberEnd: 668
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          66
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reload_servers
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1700
      functionLinenumberEnd: 1775
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          153
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - __bswap_16
        - __errno_location
        - add_update_server
        - cleanup_servers
        - fclose
        - fgets
        - fopen64
        - if_nametoindex
        - inet_pton
        - mark_servers
        - my_syslog
        - strchr
        - strcmp
        - strerror
        - strtok
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1706,13'
          Dst:             fopen64
        - Src:             'network.c:1708,70'
          Dst:             __errno_location
        - Src:             'network.c:1708,61'
          Dst:             strerror
        - Src:             'network.c:1708,7'
          Dst:             my_syslog
        - Src:             'network.c:1712,3'
          Dst:             mark_servers
        - Src:             'network.c:1714,18'
          Dst:             fgets
        - Src:             'network.c:1717,21'
          Dst:             strtok
        - Src:             'network.c:1721,11'
          Dst:             strcmp
        - Src:             'network.c:1721,47'
          Dst:             strcmp
        - Src:             'network.c:1723,21'
          Dst:             strtok
        - Src:             'network.c:1729,11'
          Dst:             inet_pton
        - Src:             'network.c:1735,23'
          Dst:             __bswap_16
        - Src:             'network.c:1737,30'
          Dst:             __bswap_16
        - Src:             'network.c:1742,21'
          Dst:             strchr
        - Src:             'network.c:1747,22'
          Dst:             if_nametoindex
        - Src:             'network.c:1750,8'
          Dst:             inet_pton
        - Src:             'network.c:1757,29'
          Dst:             __bswap_16
        - Src:             'network.c:1760,36'
          Dst:             __bswap_16
        - Src:             'network.c:1767,7'
          Dst:             add_update_server
        - Src:             'network.c:1771,3'
          Dst:             fclose
        - Src:             'network.c:1772,3'
          Dst:             cleanup_servers
    - functionName:    strtok
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    if_nametoindex
      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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_servers
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1565
      functionLinenumberEnd: 1695
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         96
      ICount:          469
      EdgeCount:       132
      CyclomaticComplexity: 38
      functionsReached:
        - __errno_location
        - allocate_sfd
        - build_server_array
        - cleanup_servers
        - close
        - enumerate_interfaces
        - loop_send_probes
        - mark_servers
        - my_syslog
        - prettyprint_addr
        - sockaddr_isequal
        - strerror
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1576,5'
          Dst:             loop_send_probes
        - Src:             'network.c:1580,3'
          Dst:             mark_servers
        - Src:             'network.c:1584,5'
          Dst:             enumerate_interfaces
        - Src:             'network.c:1592,14'
          Dst:             prettyprint_addr
        - Src:             'network.c:1603,6'
          Dst:             sockaddr_isequal
        - Src:             'network.c:1607,4'
          Dst:             my_syslog
        - Src:             'network.c:1614,18'
          Dst:             allocate_sfd
        - Src:             'network.c:1615,4'
          Dst:             __errno_location
        - Src:             'network.c:1619,25'
          Dst:             strerror
        - Src:             'network.c:1617,4'
          Dst:             my_syslog
        - Src:             'network.c:1628,2'
          Dst:             my_syslog
        - Src:             'network.c:1644,4'
          Dst:             my_syslog
        - Src:             'network.c:1648,2'
          Dst:             my_syslog
        - Src:             'network.c:1651,2'
          Dst:             my_syslog
        - Src:             'network.c:1653,2'
          Dst:             my_syslog
        - Src:             'network.c:1668,7'
          Dst:             my_syslog
        - Src:             'network.c:1671,3'
          Dst:             my_syslog
        - Src:             'network.c:1675,5'
          Dst:             my_syslog
        - Src:             'network.c:1677,5'
          Dst:             my_syslog
        - Src:             'network.c:1686,4'
          Dst:             close
        - Src:             'network.c:1693,3'
          Dst:             cleanup_servers
        - Src:             'network.c:1694,3'
          Dst:             build_server_array
    - functionName:    allocate_sfd
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1458
      functionLinenumberEnd: 1515
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          204
      EdgeCount:       58
      CyclomaticComplexity: 18
      functionsReached:
        - __bswap_16
        - __errno_location
        - close
        - fix_fd
        - local_bind
        - safe_strncpy
        - setsockopt
        - sockaddr_isequal
        - socket
        - strcmp
        - whine_malloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1468,7'
          Dst:             __errno_location
        - Src:             'network.c:1471,25'
          Dst:             __bswap_16
        - Src:             'network.c:1475,27'
          Dst:             __bswap_16
        - Src:             'network.c:1482,2'
          Dst:             sockaddr_isequal
        - Src:             'network.c:1483,2'
          Dst:             strcmp
        - Src:             'network.c:1487,3'
          Dst:             __errno_location
        - Src:             'network.c:1488,15'
          Dst:             whine_malloc
        - Src:             'network.c:1491,18'
          Dst:             socket
        - Src:             'network.c:1497,42'
          Dst:             setsockopt
        - Src:             'network.c:1498,8'
          Dst:             local_bind
        - Src:             'network.c:1498,59'
          Dst:             fix_fd
        - Src:             'network.c:1501,7'
          Dst:             close
        - Src:             'network.c:1507,3'
          Dst:             safe_strncpy
    - functionName:    local_bind
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1368
      functionLinenumberEnd: 1455
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         63
      ICount:          300
      EdgeCount:       88
      CyclomaticComplexity: 27
      functionsReached:
        - __bswap_16
        - __bswap_32
        - __errno_location
        - bind
        - rand16
        - sa_len
        - setsockopt
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1389,14'
          Dst:             rand16
        - Src:             'network.c:1389,14'
          Dst:             __bswap_16
        - Src:             'network.c:1408,51'
          Dst:             sa_len
        - Src:             'network.c:1408,11'
          Dst:             bind
        - Src:             'network.c:1411,12'
          Dst:             __errno_location
        - Src:             'network.c:1420,27'
          Dst:             __bswap_16
        - Src:             'network.c:1426,9'
          Dst:             rand16
        - Src:             'network.c:0,0'
          Dst:             __bswap_16
        - Src:             'network.c:1434,34'
          Dst:             __bswap_32
        - Src:             'network.c:1435,18'
          Dst:             setsockopt
        - Src:             'network.c:1441,34'
          Dst:             __bswap_32
        - Src:             'network.c:1442,18'
          Dst:             setsockopt
        - Src:             'network.c:1450,7'
          Dst:             setsockopt
    - functionName:    pre_allocate_sfds
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1520
      functionLinenumberEnd: 1562
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         28
      ICount:          155
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - __bswap_16
        - __errno_location
        - allocate_sfd
        - die
        - prettyprint_addr
        - strcat
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1530,26'
          Dst:             __bswap_16
        - Src:             'network.c:1534,18'
          Dst:             allocate_sfd
        - Src:             'network.c:1540,28'
          Dst:             __bswap_16
        - Src:             'network.c:1544,18'
          Dst:             allocate_sfd
        - Src:             'network.c:1549,10'
          Dst:             allocate_sfd
        - Src:             'network.c:1550,2'
          Dst:             __errno_location
        - Src:             'network.c:1553,8'
          Dst:             prettyprint_addr
        - Src:             'network.c:1556,6'
          Dst:             strlen
        - Src:             'network.c:1557,6'
          Dst:             strcat
        - Src:             'network.c:1559,2'
          Dst:             die
    - functionName:    is_dad_listeners
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1295
      functionLinenumberEnd: 1304
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          59
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    warn_int_names
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1286
      functionLinenumberEnd: 1292
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          49
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - my_syslog
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1291,7'
          Dst:             my_syslog
    - functionName:    warn_wild_labels
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1277
      functionLinenumberEnd: 1283
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         16
      ICount:          65
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - my_syslog
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1282,7'
          Dst:             my_syslog
    - functionName:    warn_bound_listeners
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1252
      functionLinenumberEnd: 1274
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         22
      ICount:          96
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - inet_ntop
        - my_syslog
        - private_net
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1261,11'
          Dst:             private_net
        - Src:             'network.c:1263,3'
          Dst:             inet_ntop
        - Src:             'network.c:1265,3'
          Dst:             my_syslog
        - Src:             'network.c:1273,5'
          Dst:             my_syslog
    - functionName:    create_wildcard_listeners
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1137
      functionLinenumberEnd: 1166
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __bswap_16
        - create_listeners
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1147,22'
          Dst:             __bswap_16
        - Src:             'network.c:1149,7'
          Dst:             create_listeners
        - Src:             'network.c:1157,24'
          Dst:             __bswap_16
        - Src:             'network.c:1159,8'
          Dst:             create_listeners
    - functionName:    tcp_interface
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1014
      functionLinenumberEnd: 1085
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          186
      EdgeCount:       53
      CyclomaticComplexity: 17
      functionsReached:
        - __cmsg_nxthdr
        - getsockopt
        - set_ipv6pktinfo
        - setsockopt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1034,11'
          Dst:             setsockopt
        - Src:             'network.c:1035,4'
          Dst:             getsockopt
        - Src:             'network.c:1038,53'
          Dst:             __cmsg_nxthdr
        - Src:             'network.c:1065,11'
          Dst:             set_ipv6pktinfo
        - Src:             'network.c:1066,4'
          Dst:             getsockopt
        - Src:             'network.c:1069,53'
          Dst:             __cmsg_nxthdr
    - functionName:    label_exception
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          66
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    loopback_exception
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          130
      EdgeCount:       39
      CyclomaticComplexity: 13
      functionsReached:
        - ioctl
        - safe_strncpy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:195,3'
          Dst:             safe_strncpy
        - Src:             'network.c:196,7'
          Dst:             ioctl
    - functionName:    dhcp_tags
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1355
      functionLinenumberEnd: 1369
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          53
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - dhcp_netid_create
        - dhcp_netid_free
        - is_tag_prefix
        - split
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1358,10'
          Dst:             is_tag_prefix
        - Src:             'option.c:1360,21'
          Dst:             split
        - Src:             'option.c:1361,12'
          Dst:             dhcp_netid_create
        - Src:             'option.c:1358,10'
          Dst:             is_tag_prefix
        - Src:             'option.c:1366,7'
          Dst:             dhcp_netid_free
    - functionName:    is_tag_prefix
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1317
      functionLinenumberEnd: 1322
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          37
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strstr
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1318,15'
          Dst:             strstr
        - Src:             'option.c:1318,45'
          Dst:             strstr
    - functionName:    split
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 711
      functionLinenumberEnd: 712
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - split_chr
      functionUses:    97
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:712,10'
          Dst:             split_chr
    - functionName:    dhcp_netid_create
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - opt_malloc
        - opt_string_alloc
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1335,8'
          Dst:             opt_malloc
        - Src:             'option.c:1336,13'
          Dst:             opt_string_alloc
    - functionName:    dhcp_netid_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1342
      functionLinenumberEnd: 1350
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    opt_malloc
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 668
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - longjmp
        - safe_malloc
        - whine_malloc
      functionUses:    88
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:661,13'
          Dst:             whine_malloc
        - Src:             'option.c:663,2'
          Dst:             longjmp
        - Src:             'option.c:666,11'
          Dst:             safe_malloc
    - functionName:    opt_string_alloc
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 685
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          34
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - opt_malloc
        - strlen
        - unhide_metas
      functionUses:    65
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:676,20'
          Dst:             strlen
        - Src:             'option.c:678,13'
          Dst:             opt_malloc
        - Src:             'option.c:682,7'
          Dst:             unhide_metas
    - functionName:    unhide_metas
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 649
      functionLinenumberEnd: 653
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          42
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - unhide_meta
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:652,13'
          Dst:             unhide_meta
    - functionName:    unhide_meta
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 639
      functionLinenumberEnd: 645
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    split_chr
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 708
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          65
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - strchr
      functionUses:    25
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:696,23'
          Dst:             strchr
    - functionName:    parse_dhcp_opt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1451
      functionLinenumberEnd: 1996
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         469
      ICount:          2073
      EdgeCount:       647
      CyclomaticComplexity: 180
      functionsReached:
        - __bswap_32
        - atoi
        - canonicalise_opt
        - dhcp_netid_create
        - dhcp_opt_free
        - do_rfc1035_name
        - inet_pton
        - is_tag_prefix
        - lookup_dhcp_len
        - lookup_dhcp_opt
        - opt_malloc
        - opt_string_alloc
        - parse_hex
        - set_prefix
        - split
        - split_chr
        - strcmp
        - strlen
        - strstr
        - unhide_metas
      functionUses:    1
      BranchProfiles:
        - Branch String:   'option.c:1663,4'
          Branch Sides:    []
      Callsites:
        - Src:             'option.c:1452,26'
          Dst:             opt_malloc
        - Src:             'option.c:1468,15'
          Dst:             split
        - Src:             'option.c:1476,15'
          Dst:             atoi
        - Src:             'option.c:1482,11'
          Dst:             strstr
        - Src:             'option.c:1484,20'
          Dst:             lookup_dhcp_opt
        - Src:             'option.c:1486,18'
          Dst:             lookup_dhcp_len
        - Src:             'option.c:1494,16'
          Dst:             strstr
        - Src:             'option.c:1502,19'
          Dst:             atoi
        - Src:             'option.c:1508,24'
          Dst:             lookup_dhcp_opt
        - Src:             'option.c:1510,15'
          Dst:             lookup_dhcp_len
        - Src:             'option.c:1520,16'
          Dst:             strstr
        - Src:             'option.c:1522,43'
          Dst:             opt_string_alloc
        - Src:             'option.c:1527,16'
          Dst:             strstr
        - Src:             'option.c:1529,19'
          Dst:             atoi
        - Src:             'option.c:1534,16'
          Dst:             strstr
        - Src:             'option.c:1536,19'
          Dst:             atoi
        - Src:             'option.c:1547,24'
          Dst:             is_tag_prefix
        - Src:             'option.c:1547,54'
          Dst:             set_prefix
        - Src:             'option.c:1548,17'
          Dst:             dhcp_netid_create
        - Src:             'option.c:1562,12'
          Dst:             lookup_dhcp_len
        - Src:             'option.c:1568,17'
          Dst:             lookup_dhcp_len
        - Src:             'option.c:1659,47'
          Dst:             strlen
        - Src:             'option.c:1687,15'
          Dst:             opt_malloc
        - Src:             'option.c:1688,10'
          Dst:             atoi
        - Src:             'option.c:1689,25'
          Dst:             __bswap_32
        - Src:             'option.c:1694,15'
          Dst:             opt_malloc
        - Src:             'option.c:1695,4'
          Dst:             parse_hex
        - Src:             'option.c:1700,17'
          Dst:             atoi
        - Src:             'option.c:1720,15'
          Dst:             opt_malloc
        - Src:             'option.c:1731,20'
          Dst:             opt_malloc
        - Src:             'option.c:1743,16'
          Dst:             split
        - Src:             'option.c:1744,16'
          Dst:             split_chr
        - Src:             'option.c:1745,13'
          Dst:             inet_pton
        - Src:             'option.c:1755,19'
          Dst:             atoi
        - Src:             'option.c:1773,20'
          Dst:             opt_malloc
        - Src:             'option.c:1778,16'
          Dst:             split
        - Src:             'option.c:1783,12'
          Dst:             strlen
        - Src:             'option.c:1786,12'
          Dst:             inet_pton
        - Src:             'option.c:1809,16'
          Dst:             split
        - Src:             'option.c:1816,9'
          Dst:             strcmp
        - Src:             'option.c:1818,21'
          Dst:             canonicalise_opt
        - Src:             'option.c:1821,18'
          Dst:             strlen
        - Src:             'option.c:1824,12'
          Dst:             opt_malloc
        - Src:             'option.c:1852,13'
          Dst:             strcmp
        - Src:             'option.c:1862,13'
          Dst:             split
        - Src:             'option.c:1882,26'
          Dst:             strlen
        - Src:             'option.c:1882,15'
          Dst:             opt_malloc
        - Src:             'option.c:1885,16'
          Dst:             split
        - Src:             'option.c:1889,15'
          Dst:             strlen
        - Src:             'option.c:1890,5'
          Dst:             unhide_metas
        - Src:             'option.c:1896,13'
          Dst:             split
        - Src:             'option.c:1908,16'
          Dst:             split
        - Src:             'option.c:1912,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:1916,43'
          Dst:             strlen
        - Src:             'option.c:1916,12'
          Dst:             opt_malloc
        - Src:             'option.c:1926,11'
          Dst:             do_rfc1035_name
        - Src:             'option.c:1937,13'
          Dst:             split
        - Src:             'option.c:1946,19'
          Dst:             strlen
        - Src:             'option.c:1948,36'
          Dst:             opt_string_alloc
        - Src:             'option.c:1994,3'
          Dst:             dhcp_opt_free
    - functionName:    set_prefix
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1325
      functionLinenumberEnd: 1330
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strstr
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1326,8'
          Dst:             strstr
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    canonicalise_opt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 736
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          60
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - canonicalise
        - die
        - longjmp
        - opt_malloc
        - unhide_metas
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:724,12'
          Dst:             opt_malloc
        - Src:             'option.c:726,3'
          Dst:             unhide_metas
        - Src:             'option.c:727,15'
          Dst:             canonicalise
        - Src:             'option.c:730,2'
          Dst:             longjmp
        - Src:             'option.c:732,2'
          Dst:             die
    - functionName:    dhcp_opt_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1441
      functionLinenumberEnd: 1447
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - dhcp_netid_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1444,3'
          Dst:             dhcp_netid_free
    - functionName:    dhcp_context_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1428
      functionLinenumberEnd: 1438
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - dhcp_netid_free
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1431,7'
          Dst:             dhcp_netid_free
    - functionName:    strtoul_check
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 775
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          45
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - numeric_check
        - strtoul
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:766,8'
          Dst:             numeric_check
        - Src:             'option.c:768,7'
          Dst:             strtoul
        - Src:             'option.c:769,7'
          Dst:             __errno_location
    - functionName:    numeric_check
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 739
      functionLinenumberEnd: 752
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          50
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - unhide_metas
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:745,3'
          Dst:             unhide_metas
    - functionName:    domain_rev6
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1216
      functionLinenumberEnd: 1301
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          243
      EdgeCount:       65
      CyclomaticComplexity: 19
      functionsReached:
        - add_update_server
        - freeaddrinfo
        - parse_server
        - parse_server_addr
        - parse_server_next
        - sprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1235,22'
          Dst:             parse_server
        - Src:             'option.c:1271,14'
          Dst:             sprintf
        - Src:             'option.c:1278,9'
          Dst:             add_update_server
        - Src:             'option.c:1286,11'
          Dst:             parse_server_next
        - Src:             'option.c:1288,22'
          Dst:             parse_server_addr
        - Src:             'option.c:1291,13'
          Dst:             add_update_server
        - Src:             'option.c:1296,6'
          Dst:             freeaddrinfo
    - functionName:    parse_server
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 895
      functionLinenumberEnd: 999
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          180
      EdgeCount:       48
      CyclomaticComplexity: 15
      functionsReached:
        - atoi_check16
        - gai_strerror
        - getaddrinfo
        - inet_pton
        - safe_strncpy
        - split_chr
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:906,7'
          Dst:             strcmp
        - Src:             'option.c:915,27'
          Dst:             split_chr
        - Src:             'option.c:916,17'
          Dst:             split_chr
        - Src:             'option.c:917,8'
          Dst:             atoi_check16
        - Src:             'option.c:920,17'
          Dst:             split_chr
        - Src:             'option.c:921,8'
          Dst:             atoi_check16
        - Src:             'option.c:924,24'
          Dst:             split_chr
        - Src:             'option.c:927,31'
          Dst:             split_chr
        - Src:             'option.c:932,2'
          Dst:             safe_strncpy
        - Src:             'option.c:940,7'
          Dst:             inet_pton
        - Src:             'option.c:942,12'
          Dst:             inet_pton
        - Src:             'option.c:975,15'
          Dst:             getaddrinfo
        - Src:             'option.c:993,13'
          Dst:             gai_strerror
    - functionName:    parse_server_next
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1097
      functionLinenumberEnd: 1127
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_server_addr
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1002
      functionLinenumberEnd: 1094
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         42
      ICount:          276
      EdgeCount:       59
      CyclomaticComplexity: 19
      functionsReached:
        - __bswap_16
        - if_nametoindex
        - inet_pton
        - safe_strncpy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1005,37'
          Dst:             __bswap_16
        - Src:             'option.c:1011,44'
          Dst:             __bswap_16
        - Src:             'option.c:1017,41'
          Dst:             __bswap_16
        - Src:             'option.c:1018,8'
          Dst:             inet_pton
        - Src:             'option.c:1020,12'
          Dst:             inet_pton
        - Src:             'option.c:1036,5'
          Dst:             safe_strncpy
        - Src:             'option.c:1046,58'
          Dst:             if_nametoindex
        - Src:             'option.c:1049,39'
          Dst:             __bswap_16
        - Src:             'option.c:1052,46'
          Dst:             __bswap_16
        - Src:             'option.c:1063,43'
          Dst:             __bswap_16
        - Src:             'option.c:1064,8'
          Dst:             inet_pton
        - Src:             'option.c:1066,12'
          Dst:             inet_pton
        - Src:             'option.c:1082,5'
          Dst:             safe_strncpy
    - functionName:    freeaddrinfo
      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:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atoi_check16
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 785
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          39
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - atoi_check
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:779,9'
          Dst:             atoi_check
    - functionName:    getaddrinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gai_strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atoi_check
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 755
      functionLinenumberEnd: 760
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - atoi
        - numeric_check
      functionUses:    35
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:756,8'
          Dst:             numeric_check
        - Src:             'option.c:758,10'
          Dst:             atoi
    - functionName:    domain_rev4
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1130
      functionLinenumberEnd: 1213
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          229
      EdgeCount:       61
      CyclomaticComplexity: 18
      functionsReached:
        - add_update_server
        - freeaddrinfo
        - parse_server
        - parse_server_addr
        - parse_server_next
        - sprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1149,22'
          Dst:             parse_server
        - Src:             'option.c:1183,14'
          Dst:             sprintf
        - Src:             'option.c:1190,9'
          Dst:             add_update_server
        - Src:             'option.c:1198,11'
          Dst:             parse_server_next
        - Src:             'option.c:1200,22'
          Dst:             parse_server_addr
        - Src:             'option.c:1203,13'
          Dst:             add_update_server
        - Src:             'option.c:1208,6'
          Dst:             freeaddrinfo
    - functionName:    parse_mysockaddr
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 883
      functionLinenumberEnd: 892
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          37
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - inet_pton
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:884,7'
          Dst:             inet_pton
        - Src:             'option.c:886,12'
          Dst:             inet_pton
    - functionName:    clear_dhcp_opt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5873
      functionLinenumberEnd: 5888
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          50
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - dhcp_opt_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5883,4'
          Dst:             dhcp_opt_free
    - functionName:    dhcp_netid_list_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1373
      functionLinenumberEnd: 1387
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          37
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dhcp_config_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1390
      functionLinenumberEnd: 1425
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          114
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - dhcp_netid_free
        - dhcp_netid_list_free
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1402,7'
          Dst:             dhcp_netid_list_free
        - Src:             'option.c:1403,7'
          Dst:             dhcp_netid_free
    - functionName:    hide_meta
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 628
      functionLinenumberEnd: 636
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         66
      ICount:          233
      EdgeCount:       97
      CyclomaticComplexity: 33
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    if_names_add
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1304
      functionLinenumberEnd: 1312
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - opt_malloc
        - opt_string_alloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1305,23'
          Dst:             opt_malloc
        - Src:             'option.c:1310,15'
          Dst:             opt_string_alloc
    - functionName:    add_txt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 801
      functionLinenumberEnd: 818
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - opt_malloc
        - opt_string_alloc
        - strlen
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:802,26'
          Dst:             opt_malloc
        - Src:             'option.c:806,20'
          Dst:             strlen
        - Src:             'option.c:807,16'
          Dst:             opt_malloc
        - Src:             'option.c:814,13'
          Dst:             opt_string_alloc
    - functionName:    one_opt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2011
      functionLinenumberEnd: 5458
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1822
      ICount:          8688
      EdgeCount:       2478
      CyclomaticComplexity: 658
      functionsReached:
        - __bswap_32
        - __ctype_b_loc
        - add_update_server
        - addr6part
        - atoi
        - atoi_check
        - atoi_check16
        - canonicalise_opt
        - closedir
        - dhcp_config_free
        - dhcp_context_free
        - dhcp_netid_create
        - dhcp_netid_free
        - dhcp_netid_list_free
        - dhcp_opt_free
        - dhcp_tags
        - die
        - domain_rev4
        - domain_rev6
        - freeaddrinfo
        - hostname_isequal
        - if_names_add
        - if_nametoindex
        - inet_ntop
        - inet_pton
        - is_same_net
        - is_same_net6
        - is_tag_prefix
        - legal_hostname
        - one_file
        - opendir
        - opt_malloc
        - opt_string_alloc
        - parse_dhcp_opt
        - parse_hex
        - parse_mysockaddr
        - parse_server
        - parse_server_addr
        - parse_server_next
        - readdir64
        - rrtype
        - set_option_bool
        - set_prefix
        - setaddr6part
        - split
        - split_chr
        - sprintf
        - stat64
        - strcasecmp
        - strcasestr
        - strcat
        - strchr
        - strcmp
        - strcpy
        - strip_hostname
        - strlen
        - strrchr
        - strstr
        - strtol
        - strtoul
        - strtoul_check
        - unhide_meta
        - unhide_metas
      functionUses:    2
      BranchProfiles:
        - Branch String:   'option.c:2049,3'
          Branch Sides:    []
        - Branch String:   'option.c:3954,7'
          Branch Sides:    []
        - Branch String:   'option.c:4157,7'
          Branch Sides:    []
        - Branch String:   'option.c:4610,3'
          Branch Sides:    []
      Callsites:
        - Src:             'option.c:2016,5'
          Dst:             strcpy
        - Src:             'option.c:2042,7'
          Dst:             set_option_bool
        - Src:             'option.c:2053,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2056,6'
          Dst:             one_file
        - Src:             'option.c:2064,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2067,6'
          Dst:             one_file
        - Src:             'option.c:2083,10'
          Dst:             split
        - Src:             'option.c:2084,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:2089,14'
          Dst:             split
        - Src:             'option.c:2092,8'
          Dst:             opt_malloc
        - Src:             'option.c:2103,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2111,18'
          Dst:             opt_string_alloc
        - Src:             'option.c:2116,21'
          Dst:             opendir
        - Src:             'option.c:2117,4'
          Dst:             die
        - Src:             'option.c:2119,16'
          Dst:             readdir64
        - Src:             'option.c:2121,19'
          Dst:             strlen
        - Src:             'option.c:2136,19'
          Dst:             strlen
        - Src:             'option.c:2138,4'
          Dst:             strcmp
        - Src:             'option.c:2148,15'
          Dst:             strlen
        - Src:             'option.c:2150,7'
          Dst:             strcmp
        - Src:             'option.c:2156,24'
          Dst:             strlen
        - Src:             'option.c:2156,13'
          Dst:             opt_malloc
        - Src:             'option.c:2157,6'
          Dst:             strcpy
        - Src:             'option.c:2158,6'
          Dst:             strlen
        - Src:             'option.c:2159,6'
          Dst:             strcat
        - Src:             'option.c:2162,10'
          Dst:             stat64
        - Src:             'option.c:2163,8'
          Dst:             die
        - Src:             'option.c:2169,28'
          Dst:             opt_malloc
        - Src:             'option.c:2173,9'
          Dst:             strcmp
        - Src:             'option.c:2185,4'
          Dst:             one_file
        - Src:             'option.c:2187,2'
          Dst:             closedir
        - Src:             'option.c:2211,7'
          Dst:             set_option_bool
        - Src:             'option.c:2215,12'
          Dst:             split
        - Src:             'option.c:2217,34'
          Dst:             opt_malloc
        - Src:             'option.c:2218,22'
          Dst:             split_chr
        - Src:             'option.c:2221,14'
          Dst:             parse_mysockaddr
        - Src:             'option.c:2223,3'
          Dst:             strcpy
        - Src:             'option.c:2224,13'
          Dst:             atoi_check
        - Src:             'option.c:2225,3'
          Dst:             strcpy
        - Src:             'option.c:2228,14'
          Dst:             atoi_check
        - Src:             'option.c:2229,6'
          Dst:             strcpy
        - Src:             'option.c:2235,14'
          Dst:             opt_malloc
        - Src:             'option.c:2236,19'
          Dst:             split_chr
        - Src:             'option.c:2239,25'
          Dst:             parse_mysockaddr
        - Src:             'option.c:2241,21'
          Dst:             strcpy
        - Src:             'option.c:2242,24'
          Dst:             atoi_check
        - Src:             'option.c:2243,21'
          Dst:             strcpy
        - Src:             'option.c:2248,24'
          Dst:             atoi_check
        - Src:             'option.c:2249,21'
          Dst:             strcpy
        - Src:             'option.c:2258,7'
          Dst:             set_option_bool
        - Src:             'option.c:2260,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:2266,7'
          Dst:             set_option_bool
        - Src:             'option.c:2268,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:2275,11'
          Dst:             strchr
        - Src:             'option.c:2275,31'
          Dst:             strcmp
        - Src:             'option.c:2276,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:2283,10'
          Dst:             hostname_isequal
        - Src:             'option.c:2295,25'
          Dst:             opt_string_alloc
        - Src:             'option.c:2300,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2316,12'
          Dst:             opt_malloc
        - Src:             'option.c:2329,30'
          Dst:             opt_string_alloc
        - Src:             'option.c:2338,15'
          Dst:             split
        - Src:             'option.c:2341,21'
          Dst:             split
        - Src:             'option.c:2341,39'
          Dst:             atoi_check16
        - Src:             'option.c:2345,15'
          Dst:             canonicalise_opt
        - Src:             'option.c:2345,15'
          Dst:             canonicalise_opt
        - Src:             'option.c:2346,27'
          Dst:             canonicalise_opt
        - Src:             'option.c:2353,8'
          Dst:             opt_malloc
        - Src:             'option.c:2364,32'
          Dst:             canonicalise_opt
        - Src:             'option.c:2369,27'
          Dst:             opt_string_alloc
        - Src:             'option.c:2373,27'
          Dst:             strtol
        - Src:             'option.c:2378,28'
          Dst:             opt_string_alloc
        - Src:             'option.c:2394,40'
          Dst:             opt_string_alloc
        - Src:             'option.c:2403,26'
          Dst:             opt_malloc
        - Src:             'option.c:2404,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2430,23'
          Dst:             opt_malloc
        - Src:             'option.c:2431,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2446,15'
          Dst:             split
        - Src:             'option.c:2448,28'
          Dst:             opt_string_alloc
        - Src:             'option.c:2452,24'
          Dst:             opt_malloc
        - Src:             'option.c:2453,12'
          Dst:             split
        - Src:             'option.c:2455,4'
          Dst:             unhide_metas
        - Src:             'option.c:2456,8'
          Dst:             inet_pton
        - Src:             'option.c:2458,13'
          Dst:             inet_pton
        - Src:             'option.c:2462,20'
          Dst:             split_chr
        - Src:             'option.c:2463,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:2467,9'
          Dst:             strcmp
        - Src:             'option.c:2469,14'
          Dst:             strcmp
        - Src:             'option.c:2474,7'
          Dst:             strcpy
        - Src:             'option.c:2489,12'
          Dst:             split
        - Src:             'option.c:2490,10'
          Dst:             opt_malloc
        - Src:             'option.c:2491,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:2503,10'
          Dst:             split
        - Src:             'option.c:2505,8'
          Dst:             opt_malloc
        - Src:             'option.c:2506,16'
          Dst:             canonicalise_opt
        - Src:             'option.c:2523,14'
          Dst:             split
        - Src:             'option.c:2524,15'
          Dst:             split_chr
        - Src:             'option.c:2526,21'
          Dst:             atoi_check
        - Src:             'option.c:2529,10'
          Dst:             strstr
        - Src:             'option.c:2535,10'
          Dst:             inet_pton
        - Src:             'option.c:2537,12'
          Dst:             opt_malloc
        - Src:             'option.c:2541,15'
          Dst:             inet_pton
        - Src:             'option.c:2543,12'
          Dst:             opt_malloc
        - Src:             'option.c:2549,34'
          Dst:             opt_malloc
        - Src:             'option.c:2550,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:0,0'
          Dst:             strcpy
        - Src:             'option.c:2585,15'
          Dst:             split
        - Src:             'option.c:2586,29'
          Dst:             atoi
        - Src:             'option.c:2591,12'
          Dst:             split
        - Src:             'option.c:2592,25'
          Dst:             opt_string_alloc
        - Src:             'option.c:2600,16'
          Dst:             split
        - Src:             'option.c:2601,35'
          Dst:             atoi
        - Src:             'option.c:2605,13'
          Dst:             split
        - Src:             'option.c:2606,30'
          Dst:             atoi
        - Src:             'option.c:2608,33'
          Dst:             atoi
        - Src:             'option.c:2619,10'
          Dst:             split
        - Src:             'option.c:2620,12'
          Dst:             canonicalise_opt
        - Src:             'option.c:2621,4'
          Dst:             strcpy
        - Src:             'option.c:2627,29'
          Dst:             opt_malloc
        - Src:             'option.c:2634,3'
          Dst:             unhide_metas
        - Src:             'option.c:2635,18'
          Dst:             split_chr
        - Src:             'option.c:2639,13'
          Dst:             split
        - Src:             'option.c:2640,12'
          Dst:             atoi_check
        - Src:             'option.c:2641,9'
          Dst:             strcpy
        - Src:             'option.c:2642,16'
          Dst:             inet_pton
        - Src:             'option.c:2651,24'
          Dst:             __bswap_32
        - Src:             'option.c:2651,24'
          Dst:             __bswap_32
        - Src:             'option.c:2652,42'
          Dst:             __bswap_32
        - Src:             'option.c:2660,25'
          Dst:             canonicalise_opt
        - Src:             'option.c:2661,9'
          Dst:             strlen
        - Src:             'option.c:2664,17'
          Dst:             strcmp
        - Src:             'option.c:2665,10'
          Dst:             strcpy
        - Src:             'option.c:2669,5'
          Dst:             domain_rev4
        - Src:             'option.c:2677,16'
          Dst:             inet_pton
        - Src:             'option.c:2679,25'
          Dst:             addr6part
        - Src:             'option.c:2694,4'
          Dst:             setaddr6part
        - Src:             'option.c:2695,4'
          Dst:             setaddr6part
        - Src:             'option.c:2701,25'
          Dst:             canonicalise_opt
        - Src:             'option.c:2702,9'
          Dst:             strlen
        - Src:             'option.c:2705,17'
          Dst:             strcmp
        - Src:             'option.c:2706,10'
          Dst:             strcpy
        - Src:             'option.c:2711,5'
          Dst:             domain_rev6
        - Src:             'option.c:2720,9'
          Dst:             strcpy
        - Src:             'option.c:2725,13'
          Dst:             split
        - Src:             'option.c:2726,17'
          Dst:             split
        - Src:             'option.c:2728,11'
          Dst:             inet_pton
        - Src:             'option.c:2733,14'
          Dst:             inet_pton
        - Src:             'option.c:2734,6'
          Dst:             strcpy
        - Src:             'option.c:2736,16'
          Dst:             inet_pton
        - Src:             'option.c:2741,14'
          Dst:             inet_pton
        - Src:             'option.c:2742,6'
          Dst:             strcpy
        - Src:             'option.c:2747,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:2751,9'
          Dst:             strcpy
        - Src:             'option.c:2755,24'
          Dst:             canonicalise_opt
        - Src:             'option.c:2756,8'
          Dst:             strlen
        - Src:             'option.c:0,0'
          Dst:             add_update_server
        - Src:             'option.c:2761,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:2761,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:2761,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:2771,12'
          Dst:             strrchr
        - Src:             'option.c:2785,7'
          Dst:             strcmp
        - Src:             'option.c:2786,5'
          Dst:             set_option_bool
        - Src:             'option.c:2788,29'
          Dst:             canonicalise_opt
        - Src:             'option.c:2791,8'
          Dst:             strcpy
        - Src:             'option.c:2799,26'
          Dst:             opt_string_alloc
        - Src:             'option.c:2803,7'
          Dst:             set_option_bool
        - Src:             'option.c:2806,12'
          Dst:             split
        - Src:             'option.c:2807,8'
          Dst:             strstr
        - Src:             'option.c:2814,12'
          Dst:             strlen
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:2821,8'
          Dst:             set_option_bool
        - Src:             'option.c:2826,12'
          Dst:             strtoul
        - Src:             'option.c:2826,12'
          Dst:             strtoul
        - Src:             'option.c:2826,12'
          Dst:             strtoul
        - Src:             'option.c:2826,12'
          Dst:             strtoul
        - Src:             'option.c:2826,12'
          Dst:             strtoul
        - Src:             'option.c:2826,12'
          Dst:             strtoul
        - Src:             'option.c:2826,12'
          Dst:             strtoul
        - Src:             'option.c:2826,12'
          Dst:             strtoul
        - Src:             'option.c:0,0'
          Dst:             strcpy
        - Src:             'option.c:2829,13'
          Dst:             strstr
        - Src:             'option.c:2831,13'
          Dst:             strtoul_check
        - Src:             'option.c:2832,3'
          Dst:             strcpy
        - Src:             'option.c:2834,13'
          Dst:             strstr
        - Src:             'option.c:2836,13'
          Dst:             strtoul_check
        - Src:             'option.c:2837,3'
          Dst:             strcpy
        - Src:             'option.c:2840,6'
          Dst:             strcpy
        - Src:             'option.c:2848,2'
          Dst:             set_option_bool
        - Src:             'option.c:2851,4'
          Dst:             unhide_metas
        - Src:             'option.c:2852,8'
          Dst:             strcmp
        - Src:             'option.c:2853,6'
          Dst:             set_option_bool
        - Src:             'option.c:2854,13'
          Dst:             strcmp
        - Src:             'option.c:2855,6'
          Dst:             set_option_bool
        - Src:             'option.c:2857,6'
          Dst:             strcpy
        - Src:             'option.c:2862,26'
          Dst:             opt_string_alloc
        - Src:             'option.c:2866,27'
          Dst:             opt_string_alloc
        - Src:             'option.c:2872,28'
          Dst:             opt_string_alloc
        - Src:             'option.c:2878,17'
          Dst:             split
        - Src:             'option.c:2879,2'
          Dst:             if_names_add
        - Src:             'option.c:2885,7'
          Dst:             set_option_bool
        - Src:             'option.c:2895,22'
          Dst:             opt_malloc
        - Src:             'option.c:2896,10'
          Dst:             split
        - Src:             'option.c:2897,14'
          Dst:             opt_string_alloc
        - Src:             'option.c:2928,7'
          Dst:             set_option_bool
        - Src:             'option.c:2942,2'
          Dst:             unhide_metas
        - Src:             'option.c:2942,2'
          Dst:             unhide_metas
        - Src:             'option.c:2945,16'
          Dst:             split_chr
        - Src:             'option.c:2945,41'
          Dst:             atoi_check
        - Src:             'option.c:2946,4'
          Dst:             strcpy
        - Src:             'option.c:2948,6'
          Dst:             inet_pton
        - Src:             'option.c:2948,6'
          Dst:             inet_pton
        - Src:             'option.c:2950,11'
          Dst:             inet_pton
        - Src:             'option.c:2950,11'
          Dst:             inet_pton
        - Src:             'option.c:2951,4'
          Dst:             strcpy
        - Src:             'option.c:2962,4'
          Dst:             strcpy
        - Src:             'option.c:2964,10'
          Dst:             opt_malloc
        - Src:             'option.c:2992,22'
          Dst:             opt_malloc
        - Src:             'option.c:2993,10'
          Dst:             split
        - Src:             'option.c:2994,2'
          Dst:             unhide_metas
        - Src:             'option.c:2995,14'
          Dst:             inet_pton
        - Src:             'option.c:3003,18'
          Dst:             inet_pton
        - Src:             'option.c:3014,4'
          Dst:             strcpy
        - Src:             'option.c:3035,2'
          Dst:             unhide_metas
        - Src:             'option.c:3041,12'
          Dst:             split_chr
        - Src:             'option.c:3042,10'
          Dst:             opt_malloc
        - Src:             'option.c:3043,18'
          Dst:             canonicalise_opt
        - Src:             'option.c:3070,2'
          Dst:             unhide_metas
        - Src:             'option.c:3079,21'
          Dst:             split_chr
        - Src:             'option.c:3079,21'
          Dst:             split_chr
        - Src:             'option.c:3091,10'
          Dst:             strcmp
        - Src:             'option.c:3093,15'
          Dst:             inet_pton
        - Src:             'option.c:3095,15'
          Dst:             inet_pton
        - Src:             'option.c:3102,17'
          Dst:             parse_server
        - Src:             'option.c:3103,8'
          Dst:             strcpy
        - Src:             'option.c:3110,43'
          Dst:             parse_server_next
        - Src:             'option.c:3114,52'
          Dst:             parse_server_addr
        - Src:             'option.c:3115,8'
          Dst:             strcpy
        - Src:             'option.c:3136,8'
          Dst:             add_update_server
        - Src:             'option.c:3137,5'
          Dst:             strcpy
        - Src:             'option.c:3142,17'
          Dst:             strlen
        - Src:             'option.c:3150,4'
          Dst:             freeaddrinfo
        - Src:             'option.c:3162,2'
          Dst:             unhide_metas
        - Src:             'option.c:3164,4'
          Dst:             strcpy
        - Src:             'option.c:3166,8'
          Dst:             split
        - Src:             'option.c:3168,17'
          Dst:             split_chr
        - Src:             'option.c:3168,42'
          Dst:             atoi_check
        - Src:             'option.c:3171,6'
          Dst:             inet_pton
        - Src:             'option.c:3176,19'
          Dst:             domain_rev4
        - Src:             'option.c:3177,8'
          Dst:             strcpy
        - Src:             'option.c:3179,11'
          Dst:             inet_pton
        - Src:             'option.c:3184,21'
          Dst:             domain_rev6
        - Src:             'option.c:3185,8'
          Dst:             strcpy
        - Src:             'option.c:3188,4'
          Dst:             strcpy
        - Src:             'option.c:3219,3'
          Dst:             unhide_metas
        - Src:             'option.c:3223,21'
          Dst:             split_chr
        - Src:             'option.c:3230,8'
          Dst:             strcmp
        - Src:             'option.c:3232,44'
          Dst:             canonicalise_opt
        - Src:             'option.c:3234,19'
          Dst:             opt_malloc
        - Src:             'option.c:3223,21'
          Dst:             split_chr
        - Src:             'option.c:3243,22'
          Dst:             opt_malloc
        - Src:             'option.c:3256,21'
          Dst:             opt_malloc
        - Src:             'option.c:3260,11'
          Dst:             split
        - Src:             'option.c:3261,17'
          Dst:             opt_string_alloc
        - Src:             'option.c:0,0'
          Dst:             strcpy
        - Src:             'option.c:3411,7'
          Dst:             atoi_check
        - Src:             'option.c:3412,4'
          Dst:             strcpy
        - Src:             'option.c:3434,12'
          Dst:             atoi_check16
        - Src:             'option.c:3435,2'
          Dst:             strcpy
        - Src:             'option.c:3439,12'
          Dst:             atoi_check16
        - Src:             'option.c:3440,2'
          Dst:             strcpy
        - Src:             'option.c:3444,12'
          Dst:             atoi_check16
        - Src:             'option.c:3445,2'
          Dst:             strcpy
        - Src:             'option.c:3449,12'
          Dst:             atoi_check
        - Src:             'option.c:3450,2'
          Dst:             strcpy
        - Src:             'option.c:3454,7'
          Dst:             set_option_bool
        - Src:             'option.c:3457,8'
          Dst:             strcmp
        - Src:             'option.c:3458,6'
          Dst:             set_option_bool
        - Src:             'option.c:3459,13'
          Dst:             strcmp
        - Src:             'option.c:3461,8'
          Dst:             set_option_bool
        - Src:             'option.c:3462,8'
          Dst:             set_option_bool
        - Src:             'option.c:3464,13'
          Dst:             strcmp
        - Src:             'option.c:3465,6'
          Dst:             set_option_bool
        - Src:             'option.c:3471,19'
          Dst:             atoi_check
        - Src:             'option.c:3472,2'
          Dst:             strcpy
        - Src:             'option.c:3478,20'
          Dst:             strcmp
        - Src:             'option.c:3479,2'
          Dst:             set_option_bool
        - Src:             'option.c:3480,17'
          Dst:             strcmp
        - Src:             'option.c:3481,2'
          Dst:             set_option_bool
        - Src:             'option.c:3483,2'
          Dst:             strcpy
        - Src:             'option.c:3489,7'
          Dst:             atoi_check
        - Src:             'option.c:3490,4'
          Dst:             strcpy
        - Src:             'option.c:3496,12'
          Dst:             atoi_check16
        - Src:             'option.c:3497,2'
          Dst:             strcpy
        - Src:             'option.c:3505,12'
          Dst:             atoi_check
        - Src:             'option.c:3506,2'
          Dst:             strcpy
        - Src:             'option.c:3518,7'
          Dst:             atoi_check
        - Src:             'option.c:3519,4'
          Dst:             strcpy
        - Src:             'option.c:3553,12'
          Dst:             split
        - Src:             'option.c:3554,9'
          Dst:             atoi_check
        - Src:             'option.c:3560,13'
          Dst:             atoi_check
        - Src:             'option.c:0,0'
          Dst:             strcpy
        - Src:             'option.c:3583,14'
          Dst:             split
        - Src:             'option.c:3584,11'
          Dst:             atoi_check
        - Src:             'option.c:3584,45'
          Dst:             rrtype
        - Src:             'option.c:3588,8'
          Dst:             opt_malloc
        - Src:             'option.c:3588,8'
          Dst:             opt_malloc
        - Src:             'option.c:3610,12'
          Dst:             atoi_check
        - Src:             'option.c:3611,2'
          Dst:             strcpy
        - Src:             'option.c:3617,12'
          Dst:             atoi_check
        - Src:             'option.c:3618,2'
          Dst:             strcpy
        - Src:             'option.c:3622,12'
          Dst:             atoi_check
        - Src:             'option.c:3623,2'
          Dst:             strcpy
        - Src:             'option.c:3627,15'
          Dst:             split
        - Src:             'option.c:3630,30'
          Dst:             opt_malloc
        - Src:             'option.c:3631,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:3632,18'
          Dst:             opt_string_alloc
        - Src:             'option.c:3637,24'
          Dst:             opt_string_alloc
        - Src:             'option.c:3641,21'
          Dst:             split
        - Src:             'option.c:3642,5'
          Dst:             atoi_check16
        - Src:             'option.c:3643,5'
          Dst:             atoi_check16
        - Src:             'option.c:3656,19'
          Dst:             strcasecmp
        - Src:             'option.c:3657,9'
          Dst:             set_option_bool
        - Src:             'option.c:3658,16'
          Dst:             strcasecmp
        - Src:             'option.c:3659,9'
          Dst:             set_option_bool
        - Src:             'option.c:3661,9'
          Dst:             strcpy
        - Src:             'option.c:3669,16'
          Dst:             split
        - Src:             'option.c:3669,31'
          Dst:             strlen
        - Src:             'option.c:3673,8'
          Dst:             strcmp
        - Src:             'option.c:3678,13'
          Dst:             opt_malloc
        - Src:             'option.c:3679,7'
          Dst:             strcpy
        - Src:             'option.c:3687,12'
          Dst:             split
        - Src:             'option.c:3688,8'
          Dst:             strlen
        - Src:             'option.c:3690,32'
          Dst:             opt_malloc
        - Src:             'option.c:3693,8'
          Dst:             strcpy
        - Src:             'option.c:3703,31'
          Dst:             opt_malloc
        - Src:             'option.c:3710,16'
          Dst:             split
        - Src:             'option.c:3717,6'
          Dst:             inet_pton
        - Src:             'option.c:3719,11'
          Dst:             inet_pton
        - Src:             'option.c:3720,21'
          Dst:             if_nametoindex
        - Src:             'option.c:3724,11'
          Dst:             inet_pton
        - Src:             'option.c:3726,11'
          Dst:             inet_pton
        - Src:             'option.c:3727,21'
          Dst:             if_nametoindex
        - Src:             'option.c:3743,29'
          Dst:             opt_malloc
        - Src:             'option.c:3755,33'
          Dst:             split
        - Src:             'option.c:3757,7'
          Dst:             is_tag_prefix
        - Src:             'option.c:3761,23'
          Dst:             dhcp_netid_create
        - Src:             'option.c:3767,4'
          Dst:             dhcp_context_free
        - Src:             'option.c:3771,43'
          Dst:             set_prefix
        - Src:             'option.c:3771,26'
          Dst:             opt_string_alloc
        - Src:             'option.c:3783,17'
          Dst:             split
        - Src:             'option.c:3783,17'
          Dst:             split
        - Src:             'option.c:3783,17'
          Dst:             split
        - Src:             'option.c:3783,17'
          Dst:             split
        - Src:             'option.c:3783,17'
          Dst:             split
        - Src:             'option.c:3783,17'
          Dst:             split
        - Src:             'option.c:3783,17'
          Dst:             split
        - Src:             'option.c:3788,6'
          Dst:             dhcp_context_free
        - Src:             'option.c:3792,6'
          Dst:             inet_pton
        - Src:             'option.c:3798,10'
          Dst:             strcmp
        - Src:             'option.c:3800,15'
          Dst:             strcmp
        - Src:             'option.c:3802,16'
          Dst:             inet_pton
        - Src:             'option.c:3804,3'
          Dst:             dhcp_context_free
        - Src:             'option.c:3808,10'
          Dst:             __bswap_32
        - Src:             'option.c:3808,37'
          Dst:             __bswap_32
        - Src:             'option.c:3815,20'
          Dst:             strchr
        - Src:             'option.c:3816,4'
          Dst:             inet_pton
        - Src:             'option.c:3820,8'
          Dst:             is_same_net
        - Src:             'option.c:3822,7'
          Dst:             dhcp_context_free
        - Src:             'option.c:3827,17'
          Dst:             strchr
        - Src:             'option.c:3828,8'
          Dst:             inet_pton
        - Src:             'option.c:3836,11'
          Dst:             inet_pton
        - Src:             'option.c:3849,7'
          Dst:             strcmp
        - Src:             'option.c:3851,12'
          Dst:             strcmp
        - Src:             'option.c:3851,51'
          Dst:             strcmp
        - Src:             'option.c:3853,12'
          Dst:             strcmp
        - Src:             'option.c:3855,12'
          Dst:             strcmp
        - Src:             'option.c:3857,12'
          Dst:             strcmp
        - Src:             'option.c:3859,12'
          Dst:             strcmp
        - Src:             'option.c:3861,29'
          Dst:             inet_pton
        - Src:             'option.c:3863,12'
          Dst:             strstr
        - Src:             'option.c:3865,33'
          Dst:             opt_string_alloc
        - Src:             'option.c:3849,7'
          Dst:             strcmp
        - Src:             'option.c:3851,12'
          Dst:             strcmp
        - Src:             'option.c:3851,51'
          Dst:             strcmp
        - Src:             'option.c:3853,12'
          Dst:             strcmp
        - Src:             'option.c:3855,12'
          Dst:             strcmp
        - Src:             'option.c:3857,12'
          Dst:             strcmp
        - Src:             'option.c:3859,12'
          Dst:             strcmp
        - Src:             'option.c:3863,12'
          Dst:             strstr
        - Src:             'option.c:3865,33'
          Dst:             opt_string_alloc
        - Src:             'option.c:3879,23'
          Dst:             atoi
        - Src:             'option.c:3896,19'
          Dst:             is_same_net6
        - Src:             'option.c:3901,3'
          Dst:             dhcp_context_free
        - Src:             'option.c:3902,3'
          Dst:             strcpy
        - Src:             'option.c:3913,8'
          Dst:             is_same_net6
        - Src:             'option.c:3915,7'
          Dst:             dhcp_context_free
        - Src:             'option.c:3920,10'
          Dst:             addr6part
        - Src:             'option.c:3920,36'
          Dst:             addr6part
        - Src:             'option.c:3930,6'
          Dst:             dhcp_context_free
        - Src:             'option.c:3938,3'
          Dst:             dhcp_context_free
        - Src:             'option.c:3942,10'
          Dst:             strcmp
        - Src:             'option.c:3947,15'
          Dst:             strcmp
        - Src:             'option.c:3952,7'
          Dst:             strlen
        - Src:             'option.c:3984,25'
          Dst:             atoi
        - Src:             'option.c:4003,8'
          Dst:             opt_malloc
        - Src:             'option.c:4017,14'
          Dst:             split
        - Src:             'option.c:4018,10'
          Dst:             strchr
        - Src:             'option.c:4030,8'
          Dst:             strchr
        - Src:             'option.c:4031,12'
          Dst:             parse_hex
        - Src:             'option.c:4034,8'
          Dst:             unhide_metas
        - Src:             'option.c:4035,20'
          Dst:             strlen
        - Src:             'option.c:4043,26'
          Dst:             opt_malloc
        - Src:             'option.c:4040,8'
          Dst:             dhcp_config_free
        - Src:             'option.c:4052,12'
          Dst:             strstr
        - Src:             'option.c:4052,42'
          Dst:             strstr
        - Src:             'option.c:4054,41'
          Dst:             opt_malloc
        - Src:             'option.c:4057,23'
          Dst:             dhcp_netid_create
        - Src:             'option.c:4059,12'
          Dst:             strstr
        - Src:             'option.c:4060,19'
          Dst:             dhcp_netid_create
        - Src:             'option.c:4063,33'
          Dst:             strlen
        - Src:             'option.c:4069,11'
          Dst:             strlen
        - Src:             'option.c:4071,14'
          Dst:             split_chr
        - Src:             'option.c:4073,12'
          Dst:             inet_pton
        - Src:             'option.c:4075,4'
          Dst:             dhcp_config_free
        - Src:             'option.c:4079,18'
          Dst:             opt_malloc
        - Src:             'option.c:4085,19'
          Dst:             addr6part
        - Src:             'option.c:4087,9'
          Dst:             atoi_check
        - Src:             'option.c:4091,8'
          Dst:             dhcp_config_free
        - Src:             'option.c:4113,37'
          Dst:             opt_malloc
        - Src:             'option.c:4114,32'
          Dst:             parse_hex
        - Src:             'option.c:4118,4'
          Dst:             dhcp_config_free
        - Src:             'option.c:4128,15'
          Dst:             strchr
        - Src:             'option.c:4128,36'
          Dst:             inet_pton
        - Src:             'option.c:4141,9'
          Dst:             inet_ntop
        - Src:             'option.c:4142,9'
          Dst:             sprintf
        - Src:             'option.c:4144,9'
          Dst:             dhcp_config_free
        - Src:             'option.c:4153,7'
          Dst:             strlen
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:4191,11'
          Dst:             strcmp
        - Src:             'option.c:4196,16'
          Dst:             strcmp
        - Src:             'option.c:4200,4'
          Dst:             dhcp_config_free
        - Src:             'option.c:4205,26'
          Dst:             canonicalise_opt
        - Src:             'option.c:4206,9'
          Dst:             legal_hostname
        - Src:             'option.c:4208,8'
          Dst:             dhcp_config_free
        - Src:             'option.c:4213,18'
          Dst:             strip_hostname
        - Src:             'option.c:4218,25'
          Dst:             atoi
        - Src:             'option.c:4236,23'
          Dst:             opt_malloc
        - Src:             'option.c:4256,14'
          Dst:             split
        - Src:             'option.c:4257,12'
          Dst:             strlen
        - Src:             'option.c:4266,31'
          Dst:             dhcp_netid_create
        - Src:             'option.c:4268,7'
          Dst:             strstr
        - Src:             'option.c:4270,41'
          Dst:             opt_malloc
        - Src:             'option.c:4275,12'
          Dst:             strstr
        - Src:             'option.c:4283,7'
          Dst:             dhcp_netid_free
        - Src:             'option.c:4293,6'
          Dst:             dhcp_netid_free
        - Src:             'option.c:4294,6'
          Dst:             dhcp_netid_list_free
        - Src:             'option.c:4307,14'
          Dst:             parse_dhcp_opt
        - Src:             'option.c:4318,16'
          Dst:             split
        - Src:             'option.c:4318,38'
          Dst:             strlen
        - Src:             'option.c:4321,8'
          Dst:             opt_malloc
        - Src:             'option.c:4323,15'
          Dst:             opt_malloc
        - Src:             'option.c:4324,37'
          Dst:             set_prefix
        - Src:             'option.c:4324,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:4331,14'
          Dst:             opt_string_alloc
        - Src:             'option.c:4319,4'
          Dst:             strcpy
        - Src:             'option.c:4341,26'
          Dst:             dhcp_tags
        - Src:             'option.c:4345,6'
          Dst:             strcpy
        - Src:             'option.c:4352,14'
          Dst:             split
        - Src:             'option.c:4353,18'
          Dst:             opt_string_alloc
        - Src:             'option.c:4358,11'
          Dst:             split
        - Src:             'option.c:4359,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:4362,7'
          Dst:             unhide_metas
        - Src:             'option.c:4363,13'
          Dst:             inet_pton
        - Src:             'option.c:4371,17'
          Dst:             opt_string_alloc
        - Src:             'option.c:4377,12'
          Dst:             opt_malloc
        - Src:             'option.c:4392,26'
          Dst:             dhcp_tags
        - Src:             'option.c:4396,6'
          Dst:             strcpy
        - Src:             'option.c:4402,11'
          Dst:             atoi_check
        - Src:             'option.c:4403,15'
          Dst:             strcpy
        - Src:             'option.c:4405,12'
          Dst:             opt_malloc
        - Src:             'option.c:4417,26'
          Dst:             opt_malloc
        - Src:             'option.c:4422,16'
          Dst:             dhcp_tags
        - Src:             'option.c:4426,7'
          Dst:             dhcp_opt_free
        - Src:             'option.c:4427,7'
          Dst:             strcpy
        - Src:             'option.c:4431,15'
          Dst:             split
        - Src:             'option.c:4432,7'
          Dst:             unhide_metas
        - Src:             'option.c:4433,18'
          Dst:             strlen
        - Src:             'option.c:4434,18'
          Dst:             opt_malloc
        - Src:             'option.c:4440,20'
          Dst:             atoi_check
        - Src:             'option.c:4455,29'
          Dst:             opt_malloc
        - Src:             'option.c:4464,16'
          Dst:             dhcp_tags
        - Src:             'option.c:4466,23'
          Dst:             split
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4469,13'
          Dst:             strcasecmp
        - Src:             'option.c:4472,21'
          Dst:             atoi_check
        - Src:             'option.c:4475,12'
          Dst:             split
        - Src:             'option.c:4478,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:4488,16'
          Dst:             split
        - Src:             'option.c:4489,12'
          Dst:             atoi_check
        - Src:             'option.c:4497,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:4502,10'
          Dst:             inet_pton
        - Src:             'option.c:4505,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:4528,3'
          Dst:             dhcp_netid_free
        - Src:             'option.c:4530,3'
          Dst:             strcpy
        - Src:             'option.c:4535,16'
          Dst:             split
        - Src:             'option.c:4536,4'
          Dst:             strcpy
        - Src:             'option.c:4539,29'
          Dst:             opt_malloc
        - Src:             'option.c:4540,40'
          Dst:             set_prefix
        - Src:             'option.c:4540,23'
          Dst:             opt_string_alloc
        - Src:             'option.c:4541,6'
          Dst:             unhide_metas
        - Src:             'option.c:4542,24'
          Dst:             parse_hex
        - Src:             'option.c:4546,3'
          Dst:             strcpy
        - Src:             'option.c:4565,29'
          Dst:             opt_malloc
        - Src:             'option.c:4567,17'
          Dst:             split
        - Src:             'option.c:4568,5'
          Dst:             strcpy
        - Src:             'option.c:4570,37'
          Dst:             set_prefix
        - Src:             'option.c:4570,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:4575,16'
          Dst:             split
        - Src:             'option.c:4577,29'
          Dst:             strstr
        - Src:             'option.c:4580,11'
          Dst:             strcpy
        - Src:             'option.c:4583,27'
          Dst:             atoi
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:4596,3'
          Dst:             unhide_metas
        - Src:             'option.c:4599,18'
          Dst:             strlen
        - Src:             'option.c:4605,59'
          Dst:             strlen
        - Src:             'option.c:4605,18'
          Dst:             parse_hex
        - Src:             'option.c:0,0'
          Dst:             opt_malloc
        - Src:             'option.c:4642,12'
          Dst:             split
        - Src:             'option.c:4643,9'
          Dst:             atoi_check16
        - Src:             'option.c:4644,19'
          Dst:             atoi_check16
        - Src:             'option.c:4657,32'
          Dst:             opt_malloc
        - Src:             'option.c:4686,12'
          Dst:             split
        - Src:             'option.c:4687,29'
          Dst:             is_tag_prefix
        - Src:             'option.c:4687,11'
          Dst:             dhcp_netid_create
        - Src:             'option.c:4698,26'
          Dst:             opt_malloc
        - Src:             'option.c:4699,10'
          Dst:             split
        - Src:             'option.c:4700,8'
          Dst:             inet_pton
        - Src:             'option.c:4711,34'
          Dst:             opt_malloc
        - Src:             'option.c:4712,12'
          Dst:             split
        - Src:             'option.c:4713,23'
          Dst:             opt_string_alloc
        - Src:             'option.c:4724,27'
          Dst:             opt_malloc
        - Src:             'option.c:4725,14'
          Dst:             split
        - Src:             'option.c:4726,16'
          Dst:             split
        - Src:             'option.c:4733,20'
          Dst:             strchr
        - Src:             'option.c:4741,10'
          Dst:             inet_pton
        - Src:             'option.c:4743,16'
          Dst:             split_chr
        - Src:             'option.c:4745,17'
          Dst:             atoi_check16
        - Src:             'option.c:4748,8'
          Dst:             inet_pton
        - Src:             'option.c:4754,20'
          Dst:             strchr
        - Src:             'option.c:4759,31'
          Dst:             inet_pton
        - Src:             'option.c:4767,15'
          Dst:             inet_pton
        - Src:             'option.c:4769,16'
          Dst:             split_chr
        - Src:             'option.c:4771,17'
          Dst:             atoi_check16
        - Src:             'option.c:4774,8'
          Dst:             inet_pton
        - Src:             'option.c:4776,7'
          Dst:             inet_pton
        - Src:             'option.c:4779,20'
          Dst:             strchr
        - Src:             'option.c:4791,23'
          Dst:             opt_string_alloc
        - Src:             'option.c:4791,23'
          Dst:             opt_string_alloc
        - Src:             'option.c:4807,20'
          Dst:             split
        - Src:             'option.c:4809,31'
          Dst:             opt_malloc
        - Src:             'option.c:4814,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:4815,8'
          Dst:             strcasestr
        - Src:             'option.c:4818,22'
          Dst:             split
        - Src:             'option.c:4820,13'
          Dst:             strcasecmp
        - Src:             'option.c:4822,18'
          Dst:             atoi_check
        - Src:             'option.c:4823,26'
          Dst:             opt_string_alloc
        - Src:             'option.c:4827,8'
          Dst:             strcasestr
        - Src:             'option.c:4827,46'
          Dst:             strcasestr
        - Src:             'option.c:4833,16'
          Dst:             split
        - Src:             'option.c:4835,11'
          Dst:             split
        - Src:             'option.c:4836,10'
          Dst:             atoi_check
        - Src:             'option.c:4837,17'
          Dst:             atoi_check
        - Src:             'option.c:4850,21'
          Dst:             split
        - Src:             'option.c:4850,37'
          Dst:             atoi_check
        - Src:             'option.c:4854,70'
          Dst:             strlen
        - Src:             'option.c:4854,30'
          Dst:             parse_hex
        - Src:             'option.c:4855,26'
          Dst:             opt_malloc
        - Src:             'option.c:4865,23'
          Dst:             opt_malloc
        - Src:             'option.c:4874,21'
          Dst:             split
        - Src:             'option.c:4876,8'
          Dst:             unhide_metas
        - Src:             'option.c:4874,21'
          Dst:             split
        - Src:             'option.c:4876,8'
          Dst:             unhide_metas
        - Src:             'option.c:4879,9'
          Dst:             split_chr
        - Src:             'option.c:4882,9'
          Dst:             inet_pton
        - Src:             'option.c:4883,9'
          Dst:             inet_pton
        - Src:             'option.c:4884,18'
          Dst:             inet_pton
        - Src:             'option.c:4879,9'
          Dst:             split_chr
        - Src:             'option.c:4888,9'
          Dst:             inet_pton
        - Src:             'option.c:4889,8'
          Dst:             is_same_net
        - Src:             'option.c:4890,7'
          Dst:             __bswap_32
        - Src:             'option.c:4890,31'
          Dst:             __bswap_32
        - Src:             'option.c:4902,8'
          Dst:             split
        - Src:             'option.c:4904,8'
          Dst:             opt_malloc
        - Src:             'option.c:4913,18'
          Dst:             split
        - Src:             'option.c:4915,10'
          Dst:             inet_pton
        - Src:             'option.c:4917,15'
          Dst:             inet_pton
        - Src:             'option.c:4913,18'
          Dst:             split
        - Src:             'option.c:4925,15'
          Dst:             split_chr
        - Src:             'option.c:4927,10'
          Dst:             strcmp
        - Src:             'option.c:4929,15'
          Dst:             strcmp
        - Src:             'option.c:4932,8'
          Dst:             strcpy
        - Src:             'option.c:4935,14'
          Dst:             opt_string_alloc
        - Src:             'option.c:4953,39'
          Dst:             canonicalise_opt
        - Src:             'option.c:4954,4'
          Dst:             strcpy
        - Src:             'option.c:4966,54'
          Dst:             split
        - Src:             'option.c:4975,20'
          Dst:             atoi_check
        - Src:             'option.c:4980,19'
          Dst:             strlen
        - Src:             'option.c:4981,14'
          Dst:             canonicalise_opt
        - Src:             'option.c:4984,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:4993,12'
          Dst:             hostname_isequal
        - Src:             'option.c:4999,12'
          Dst:             opt_malloc
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:5017,10'
          Dst:             split
        - Src:             'option.c:5019,14'
          Dst:             canonicalise_opt
        - Src:             'option.c:5020,27'
          Dst:             canonicalise_opt
        - Src:             'option.c:5028,12'
          Dst:             opt_malloc
        - Src:             'option.c:5047,19'
          Dst:             split
        - Src:             'option.c:5047,19'
          Dst:             split
        - Src:             'option.c:5047,19'
          Dst:             split
        - Src:             'option.c:5047,19'
          Dst:             split
        - Src:             'option.c:5047,19'
          Dst:             split
        - Src:             'option.c:5047,19'
          Dst:             split
        - Src:             'option.c:5052,15'
          Dst:             canonicalise_opt
        - Src:             'option.c:5053,7'
          Dst:             atoi_check16
        - Src:             'option.c:5054,7'
          Dst:             atoi_check16
        - Src:             'option.c:5055,29'
          Dst:             canonicalise_opt
        - Src:             'option.c:5063,12'
          Dst:             opt_malloc
        - Src:             'option.c:5067,19'
          Dst:             opt_string_alloc
        - Src:             'option.c:5068,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:5069,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:5084,10'
          Dst:             split
        - Src:             'option.c:5085,9'
          Dst:             split
        - Src:             'option.c:5087,8'
          Dst:             opt_malloc
        - Src:             'option.c:5090,7'
          Dst:             atoi_check
        - Src:             'option.c:5091,20'
          Dst:             canonicalise_opt
        - Src:             'option.c:5092,22'
          Dst:             parse_hex
        - Src:             'option.c:5105,17'
          Dst:             opt_malloc
        - Src:             'option.c:5119,10'
          Dst:             split
        - Src:             'option.c:5120,8'
          Dst:             split
        - Src:             'option.c:5121,10'
          Dst:             split
        - Src:             'option.c:5123,8'
          Dst:             opt_malloc
        - Src:             'option.c:5127,7'
          Dst:             atoi_check
        - Src:             'option.c:5127,68'
          Dst:             canonicalise_opt
        - Src:             'option.c:5130,2'
          Dst:             unhide_metas
        - Src:             'option.c:5131,2'
          Dst:             unhide_metas
        - Src:             'option.c:5133,13'
          Dst:             strlen
        - Src:             'option.c:5133,27'
          Dst:             strlen
        - Src:             'option.c:5134,13'
          Dst:             opt_malloc
        - Src:             'option.c:5136,16'
          Dst:             strlen
        - Src:             'option.c:5137,28'
          Dst:             strlen
        - Src:             'option.c:5138,23'
          Dst:             strlen
        - Src:             'option.c:5138,44'
          Dst:             strlen
        - Src:             'option.c:5150,10'
          Dst:             split
        - Src:             'option.c:5152,8'
          Dst:             opt_malloc
        - Src:             'option.c:5156,20'
          Dst:             canonicalise_opt
        - Src:             'option.c:5161,16'
          Dst:             strlen
        - Src:             'option.c:5163,17'
          Dst:             opt_malloc
        - Src:             'option.c:5181,10'
          Dst:             unhide_meta
        - Src:             'option.c:5197,10'
          Dst:             split
        - Src:             'option.c:5199,15'
          Dst:             canonicalise_opt
        - Src:             'option.c:5205,14'
          Dst:             split
        - Src:             'option.c:5206,21'
          Dst:             canonicalise_opt
        - Src:             'option.c:5212,11'
          Dst:             split
        - Src:             'option.c:5213,8'
          Dst:             atoi_check16
        - Src:             'option.c:5222,15'
          Dst:             split
        - Src:             'option.c:5223,12'
          Dst:             atoi_check16
        - Src:             'option.c:5228,21'
          Dst:             atoi_check16
        - Src:             'option.c:5237,8'
          Dst:             opt_malloc
        - Src:             'option.c:5253,24'
          Dst:             split
        - Src:             'option.c:5256,8'
          Dst:             opt_malloc
        - Src:             'option.c:5270,19'
          Dst:             atoi
        - Src:             'option.c:5271,15'
          Dst:             inet_pton
        - Src:             'option.c:5276,15'
          Dst:             inet_pton
        - Src:             'option.c:5283,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:5296,8'
          Dst:             opt_malloc
        - Src:             'option.c:5311,14'
          Dst:             split
        - Src:             'option.c:5331,11'
          Dst:             atoi_check
        - Src:             'option.c:5332,8'
          Dst:             strcpy
        - Src:             'option.c:5446,7'
          Dst:             atoi_check
        - Src:             'option.c:5447,4'
          Dst:             strcpy
    - functionName:    set_option_bool
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2001
      functionLinenumberEnd: 2003
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    22
      BranchProfiles:  []
      Callsites:       []
    - functionName:    one_file
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5617
      functionLinenumberEnd: 5707
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         52
      ICount:          226
      EdgeCount:       67
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - die
        - fclose
        - fopen64
        - my_syslog
        - pclose
        - popen
        - read_file
        - safe_malloc
        - stat64
        - strcmp
        - strerror
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5640,38'
          Dst:             strcmp
        - Src:             'option.c:5691,4'
          Dst:             read_file
        - Src:             'option.c:5653,28'
          Dst:             stat64
        - Src:             'option.c:5653,28'
          Dst:             stat64
        - Src:             'option.c:5661,8'
          Dst:             safe_malloc
        - Src:             'option.c:5670,14'
          Dst:             popen
        - Src:             'option.c:5671,6'
          Dst:             die
        - Src:             'option.c:5673,22'
          Dst:             fopen64
        - Src:             'option.c:5675,8'
          Dst:             __errno_location
        - Src:             'option.c:5682,35'
          Dst:             strerror
        - Src:             'option.c:5682,5'
          Dst:             my_syslog
        - Src:             'option.c:5686,3'
          Dst:             die
        - Src:             'option.c:5691,4'
          Dst:             read_file
        - Src:             'option.c:5691,4'
          Dst:             read_file
        - Src:             'option.c:5697,17'
          Dst:             pclose
        - Src:             'option.c:5698,2'
          Dst:             die
        - Src:             'option.c:5701,2'
          Dst:             die
        - Src:             'option.c:5704,5'
          Dst:             fclose
    - 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:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcasestr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read_file
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5461
      functionLinenumberEnd: 5600
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         115
      ICount:          505
      EdgeCount:       158
      CyclomaticComplexity: 45
      functionsReached:
        - __ctype_b_loc
        - _setjmp
        - die
        - fgets
        - hide_meta
        - memchr
        - my_syslog
        - one_opt
        - sprintf
        - strchr
        - strcmp
        - strcpy
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5465,10'
          Dst:             fgets
        - Src:             'option.c:5477,8'
          Dst:             _setjmp
        - Src:             'option.c:5492,24'
          Dst:             strlen
        - Src:             'option.c:5496,23'
          Dst:             memchr
        - Src:             'option.c:5508,25'
          Dst:             strlen
        - Src:             'option.c:5510,10'
          Dst:             hide_meta
        - Src:             'option.c:5519,24'
          Dst:             strlen
        - Src:             'option.c:5522,8'
          Dst:             __ctype_b_loc
        - Src:             'option.c:5543,18'
          Dst:             strlen
        - Src:             'option.c:5552,19'
          Dst:             strchr
        - Src:             'option.c:5565,10'
          Dst:             strcmp
        - Src:             'option.c:5583,2'
          Dst:             strcpy
        - Src:             'option.c:5585,23'
          Dst:             one_opt
        - Src:             'option.c:5588,33'
          Dst:             strlen
        - Src:             'option.c:5588,6'
          Dst:             sprintf
        - Src:             'option.c:5590,33'
          Dst:             strlen
        - Src:             'option.c:5590,6'
          Dst:             sprintf
        - Src:             'option.c:5593,6'
          Dst:             my_syslog
        - Src:             'option.c:5595,6'
          Dst:             die
    - 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:    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:    do_usage
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 822
      functionLinenumberEnd: 876
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         42
      ICount:          197
      EdgeCount:       56
      CyclomaticComplexity: 16
      functionsReached:
        - printf
        - putchar
        - puts
        - safe_strncpy
        - sprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:838,3'
          Dst:             puts
        - Src:             'option.c:842,3'
          Dst:             puts
        - Src:             'option.c:859,2'
          Dst:             sprintf
        - Src:             'option.c:863,7'
          Dst:             sprintf
        - Src:             'option.c:864,7'
          Dst:             printf
        - Src:             'option.c:868,4'
          Dst:             safe_strncpy
        - Src:             'option.c:871,8'
          Dst:             sprintf
        - Src:             'option.c:871,8'
          Dst:             sprintf
        - Src:             'option.c:871,8'
          Dst:             sprintf
        - Src:             'option.c:871,8'
          Dst:             sprintf
        - Src:             'option.c:871,8'
          Dst:             sprintf
        - Src:             'option.c:873,7'
          Dst:             printf
        - Src:             'option.c:874,7'
          Dst:             putchar
    - functionName:    puts
      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:    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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    putchar
      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:    read_opts
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5939
      functionLinenumberEnd: 6314
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         251
      ICount:          1197
      EdgeCount:       332
      CyclomaticComplexity: 83
      functionsReached:
        - __bswap_16
        - __ctype_b_loc
        - add_txt
        - canonicalise_opt
        - die
        - display_opts
        - display_opts6
        - do_usage
        - exit
        - fclose
        - fgets
        - fopen64
        - fprintf
        - gethostname
        - getopt_long
        - hostname_isequal
        - if_names_add
        - mark_servers
        - one_file
        - one_opt
        - opt_malloc
        - opt_string_alloc
        - printf
        - puts
        - reset_option_bool
        - safe_malloc
        - safe_strncpy
        - set_option_bool
        - strcat
        - strchr
        - strcmp
        - strcpy
        - strlen
        - strrchr
        - strtok
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5941,18'
          Dst:             opt_malloc
        - Src:             'option.c:5947,16'
          Dst:             opt_malloc
        - Src:             'option.c:5953,12'
          Dst:             opt_malloc
        - Src:             'option.c:5956,27'
          Dst:             safe_malloc
        - Src:             'option.c:5957,22'
          Dst:             safe_malloc
        - Src:             'option.c:5992,3'
          Dst:             mark_servers
        - Src:             'option.c:5997,16'
          Dst:             getopt_long
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:6009,5'
          Dst:             die
        - Src:             'option.c:6017,8'
          Dst:             strlen
        - Src:             'option.c:6020,22'
          Dst:             strlen
        - Src:             'option.c:6021,17'
          Dst:             opt_malloc
        - Src:             'option.c:6023,4'
          Dst:             safe_strncpy
        - Src:             'option.c:6035,21'
          Dst:             strcmp
        - Src:             'option.c:6036,6'
          Dst:             display_opts
        - Src:             'option.c:6038,26'
          Dst:             strcmp
        - Src:             'option.c:6039,6'
          Dst:             display_opts6
        - Src:             'option.c:6043,6'
          Dst:             do_usage
        - Src:             'option.c:6045,4'
          Dst:             exit
        - Src:             'option.c:6049,4'
          Dst:             printf
        - Src:             'option.c:6050,4'
          Dst:             printf
        - Src:             'option.c:6051,4'
          Dst:             puts
        - Src:             'option.c:6052,4'
          Dst:             puts
        - Src:             'option.c:6053,4'
          Dst:             puts
        - Src:             'option.c:6054,11'
          Dst:             exit
        - Src:             'option.c:6059,17'
          Dst:             opt_string_alloc
        - Src:             'option.c:6062,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:6063,8'
          Dst:             one_file
        - Src:             'option.c:6070,9'
          Dst:             one_opt
        - Src:             'option.c:6074,6'
          Dst:             die
        - Src:             'option.c:6082,7'
          Dst:             one_file
        - Src:             'option.c:6086,5'
          Dst:             one_file
        - Src:             'option.c:6092,7'
          Dst:             add_txt
        - Src:             'option.c:6093,7'
          Dst:             add_txt
        - Src:             'option.c:6094,7'
          Dst:             add_txt
        - Src:             'option.c:6095,7'
          Dst:             add_txt
        - Src:             'option.c:6096,7'
          Dst:             add_txt
        - Src:             'option.c:6097,7'
          Dst:             add_txt
        - Src:             'option.c:6098,7'
          Dst:             add_txt
        - Src:             'option.c:6099,7'
          Dst:             add_txt
        - Src:             'option.c:6101,7'
          Dst:             add_txt
        - Src:             'option.c:6103,7'
          Dst:             add_txt
        - Src:             'option.c:0,0'
          Dst:             __bswap_16
        - Src:             'option.c:6155,10'
          Dst:             hostname_isequal
        - Src:             'option.c:6171,3'
          Dst:             die
        - Src:             'option.c:0,0'
          Dst:             __bswap_16
        - Src:             'option.c:6195,7'
          Dst:             strcat
        - Src:             'option.c:6196,28'
          Dst:             opt_string_alloc
        - Src:             'option.c:6201,34'
          Dst:             opt_malloc
        - Src:             'option.c:6202,40'
          Dst:             opt_string_alloc
        - Src:             'option.c:6211,11'
          Dst:             gethostname
        - Src:             'option.c:6212,2'
          Dst:             die
        - Src:             'option.c:6215,20'
          Dst:             hostname_isequal
        - Src:             'option.c:6220,9'
          Dst:             opt_malloc
        - Src:             'option.c:6224,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:6229,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:6240,5'
          Dst:             die
        - Src:             'option.c:6250,2'
          Dst:             die
        - Src:             'option.c:6252,17'
          Dst:             fopen64
        - Src:             'option.c:6253,2'
          Dst:             die
        - Src:             'option.c:6255,22'
          Dst:             fgets
        - Src:             'option.c:6257,18'
          Dst:             strtok
        - Src:             'option.c:6259,18'
          Dst:             strcmp
        - Src:             'option.c:6262,17'
          Dst:             strtok
        - Src:             'option.c:6263,33'
          Dst:             canonicalise_opt
        - Src:             'option.c:6267,7'
          Dst:             fclose
        - Src:             'option.c:6270,2'
          Dst:             die
        - Src:             'option.c:6280,6'
          Dst:             strchr
        - Src:             'option.c:6281,32'
          Dst:             strrchr
        - Src:             'option.c:6283,10'
          Dst:             strlen
        - Src:             'option.c:6283,34'
          Dst:             strlen
        - Src:             'option.c:6284,8'
          Dst:             die
        - Src:             'option.c:6285,6'
          Dst:             strcpy
        - Src:             'option.c:6286,6'
          Dst:             strlen
        - Src:             'option.c:6287,6'
          Dst:             strcat
        - Src:             'option.c:6289,18'
          Dst:             opt_string_alloc
        - Src:             'option.c:6293,5'
          Dst:             die
        - Src:             'option.c:6299,7'
          Dst:             reset_option_bool
        - Src:             'option.c:6300,7'
          Dst:             reset_option_bool
        - Src:             'option.c:6305,7'
          Dst:             if_names_add
        - Src:             'option.c:6306,7'
          Dst:             set_option_bool
        - Src:             'option.c:6311,7'
          Dst:             fprintf
        - Src:             'option.c:6312,7'
          Dst:             exit
    - functionName:    getopt_long
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gethostname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reset_option_bool
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2006
      functionLinenumberEnd: 2008
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clear_dynamic_opt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5891
      functionLinenumberEnd: 5896
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - clear_dhcp_opt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5892,3'
          Dst:             clear_dhcp_opt
        - Src:             'option.c:5894,3'
          Dst:             clear_dhcp_opt
    - functionName:    clear_dynamic_conf
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5854
      functionLinenumberEnd: 5870
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          51
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - dhcp_config_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5865,4'
          Dst:             dhcp_config_free
    - functionName:    reread_dhcp
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5899
      functionLinenumberEnd: 5935
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         29
      ICount:          131
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - clear_dynamic_conf
        - clear_dynamic_opt
        - expand_filelist
        - my_syslog
        - one_file
        - set_dynamic_inotify
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5906,4'
          Dst:             clear_dynamic_conf
        - Src:             'option.c:5907,4'
          Dst:             clear_dynamic_opt
        - Src:             'option.c:5911,33'
          Dst:             expand_filelist
        - Src:             'option.c:5915,10'
          Dst:             one_file
        - Src:             'option.c:5916,8'
          Dst:             my_syslog
        - Src:             'option.c:5922,32'
          Dst:             expand_filelist
        - Src:             'option.c:5926,10'
          Dst:             one_file
        - Src:             'option.c:5927,8'
          Dst:             my_syslog
        - Src:             'option.c:5933,3'
          Dst:             set_dynamic_inotify
    - functionName:    expand_filelist
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5725
      functionLinenumberEnd: 5832
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         66
      ICount:          328
      EdgeCount:       90
      CyclomaticComplexity: 26
      functionsReached:
        - __errno_location
        - alphasort64
        - file_filter
        - my_syslog
        - scandir64
        - stat64
        - strcat
        - strcmp
        - strcpy
        - strerror
        - strlen
        - strstr
        - whine_malloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5749,6'
          Dst:             stat64
        - Src:             'option.c:5756,15'
          Dst:             scandir64
        - Src:             'option.c:5756,15'
          Dst:             file_filter
        - Src:             'option.c:5756,15'
          Dst:             alphasort64
        - Src:             'option.c:5759,24'
          Dst:             __errno_location
        - Src:             'option.c:5759,15'
          Dst:             strerror
        - Src:             'option.c:5758,8'
          Dst:             my_syslog
        - Src:             'option.c:5765,23'
          Dst:             strlen
        - Src:             'option.c:5766,24'
          Dst:             strlen
        - Src:             'option.c:5779,17'
          Dst:             strlen
        - Src:             'option.c:5780,8'
          Dst:             strstr
        - Src:             'option.c:5782,8'
          Dst:             strcmp
        - Src:             'option.c:5798,16'
          Dst:             whine_malloc
        - Src:             'option.c:5801,17'
          Dst:             whine_malloc
        - Src:             'option.c:5807,4'
          Dst:             strcpy
        - Src:             'option.c:5808,4'
          Dst:             strlen
        - Src:             'option.c:5809,4'
          Dst:             strcat
        - Src:             'option.c:5822,36'
          Dst:             stat64
    - functionName:    file_filter
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5710
      functionLinenumberEnd: 5722
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          58
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5711,20'
          Dst:             strlen
    - functionName:    alphasort64
      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:    scandir64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read_servers_file
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5835
      functionLinenumberEnd: 5849
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - check_servers
        - cleanup_servers
        - fclose
        - fopen64
        - mark_servers
        - my_syslog
        - read_file
        - strerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5838,13'
          Dst:             fopen64
        - Src:             'option.c:5840,83'
          Dst:             __errno_location
        - Src:             'option.c:5840,74'
          Dst:             strerror
        - Src:             'option.c:5840,8'
          Dst:             my_syslog
        - Src:             'option.c:5844,3'
          Dst:             mark_servers
        - Src:             'option.c:5845,3'
          Dst:             read_file
        - Src:             'option.c:5846,3'
          Dst:             fclose
        - Src:             'option.c:5847,3'
          Dst:             cleanup_servers
        - Src:             'option.c:5848,3'
          Dst:             check_servers
    - functionName:    option_read_dynfile
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5604
      functionLinenumberEnd: 5613
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - my_syslog
        - one_file
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5605,3'
          Dst:             my_syslog
        - Src:             'option.c:0,0'
          Dst:             one_file
    - functionName:    poll_listen
      functionSourceFile: '/src/dnsmasq/src/poll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          89
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - fd_search
        - whine_realloc
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'poll.c:93,15'
          Dst:             fd_search
        - Src:             'poll.c:106,17'
          Dst:             whine_realloc
    - functionName:    fd_search
      functionSourceFile: '/src/dnsmasq/src/poll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          67
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    poll_check
      functionSourceFile: '/src/dnsmasq/src/poll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          39
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - fd_search
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'poll.c:83,14'
          Dst:             fd_search
    - functionName:    do_poll
      functionSourceFile: '/src/dnsmasq/src/poll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - poll
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'poll.c:78,10'
          Dst:             poll
    - functionName:    poll
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    poll_reset
      functionSourceFile: '/src/dnsmasq/src/poll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_lla
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 767
      functionLinenumberEnd: 787
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          43
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - expand
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:775,26'
          Dst:             expand
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_prefixes
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 589
      functionLinenumberEnd: 763
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         114
      ICount:          559
      EdgeCount:       158
      CyclomaticComplexity: 46
      functionsReached:
        - __bswap_32
        - addr6part
        - expand
        - inet_ntop
        - is_same_net6
        - my_syslog
        - setaddr6part
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:596,11'
          Dst:             __bswap_32
        - Src:             'radv.c:596,11'
          Dst:             __bswap_32
        - Src:             'radv.c:607,17'
          Dst:             __bswap_32
        - Src:             'radv.c:622,3'
          Dst:             is_same_net6
        - Src:             'radv.c:623,3'
          Dst:             is_same_net6
        - Src:             'radv.c:714,8'
          Dst:             __bswap_32
        - Src:             'radv.c:714,8'
          Dst:             __bswap_32
        - Src:             'radv.c:735,19'
          Dst:             expand
        - Src:             'radv.c:739,27'
          Dst:             addr6part
        - Src:             'radv.c:739,7'
          Dst:             setaddr6part
        - Src:             'radv.c:751,27'
          Dst:             __bswap_32
        - Src:             'radv.c:752,31'
          Dst:             __bswap_32
        - Src:             'radv.c:756,5'
          Dst:             inet_ntop
        - Src:             'radv.c:758,7'
          Dst:             my_syslog
    - functionName:    calc_lifetime
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1014
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          55
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - calc_interval
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:1015,33'
          Dst:             calc_interval
    - functionName:    calc_interval
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 998
      functionLinenumberEnd: 1010
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          38
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    calc_prio
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1032
      functionLinenumberEnd: 1037
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          17
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    find_iface_param
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 987
      functionLinenumberEnd: 995
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          44
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - wildcard_match
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:991,9'
          Dst:             wildcard_match
    - functionName:    send_ra_to_aliases
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 900
      functionLinenumberEnd: 919
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          84
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - if_indextoname
        - wildcard_matchn
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:909,7'
          Dst:             if_indextoname
        - Src:             'radv.c:911,11'
          Dst:             wildcard_matchn
    - functionName:    if_indextoname
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iface_search
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 971
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          234
      EdgeCount:       75
      CyclomaticComplexity: 23
      functionsReached:
        - difftime
        - iface_check
        - indextoname
        - is_same_net6
        - new_timeout
        - wildcard_match
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:934,8'
          Dst:             indextoname
        - Src:             'radv.c:935,8'
          Dst:             iface_check
        - Src:             'radv.c:940,2'
          Dst:             wildcard_match
        - Src:             'radv.c:946,2'
          Dst:             is_same_net6
        - Src:             'radv.c:947,2'
          Dst:             is_same_net6
        - Src:             'radv.c:949,2'
          Dst:             difftime
        - Src:             'radv.c:957,2'
          Dst:             new_timeout
        - Src:             'radv.c:963,8'
          Dst:             is_same_net6
        - Src:             'radv.c:964,8'
          Dst:             is_same_net6
    - functionName:    new_timeout
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 974
      functionLinenumberEnd: 984
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calc_interval
        - difftime
        - find_iface_param
        - rand16
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:975,7'
          Dst:             difftime
        - Src:             'radv.c:977,35'
          Dst:             rand16
        - Src:             'radv.c:981,49'
          Dst:             find_iface_param
        - Src:             'radv.c:981,35'
          Dst:             calc_interval
        - Src:             'radv.c:982,86'
          Dst:             rand16
    - functionName:    periodic_ra
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 897
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         65
      ICount:          316
      EdgeCount:       89
      CyclomaticComplexity: 26
      functionsReached:
        - difftime
        - if_nametoindex
        - iface_check
        - iface_enumerate
        - iface_search
        - indextoname
        - my_syslog
        - new_timeout
        - send_ra
        - send_ra_alias
        - send_ra_to_aliases
        - whine_malloc
        - wildcard_match
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:805,10'
          Dst:             difftime
        - Src:             'radv.c:808,29'
          Dst:             difftime
        - Src:             'radv.c:818,4'
          Dst:             indextoname
        - Src:             'radv.c:824,4'
          Dst:             new_timeout
        - Src:             'radv.c:826,16'
          Dst:             iface_enumerate
        - Src:             'radv.c:826,16'
          Dst:             iface_search
        - Src:             'radv.c:835,4'
          Dst:             iface_check
        - Src:             'radv.c:840,3'
          Dst:             wildcard_match
        - Src:             'radv.c:844,15'
          Dst:             send_ra
        - Src:             'radv.c:851,26'
          Dst:             if_nametoindex
        - Src:             'radv.c:859,21'
          Dst:             iface_enumerate
        - Src:             'radv.c:859,21'
          Dst:             send_ra_to_aliases
        - Src:             'radv.c:860,21'
          Dst:             my_syslog
        - Src:             'radv.c:865,47'
          Dst:             whine_malloc
        - Src:             'radv.c:874,25'
          Dst:             iface_enumerate
        - Src:             'radv.c:874,25'
          Dst:             send_ra_to_aliases
        - Src:             'radv.c:877,29'
          Dst:             my_syslog
        - Src:             'radv.c:880,29'
          Dst:             send_ra_alias
    - functionName:    send_ra
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - size_t
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - send_ra_alias
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:583,3'
          Dst:             send_ra_alias
    - functionName:    send_ra_alias
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 577
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - size_t
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         229
      ICount:          1166
      EdgeCount:       320
      CyclomaticComplexity: 93
      functionsReached:
        - __bswap_16
        - __bswap_32
        - add_lla
        - add_prefixes
        - addr6part
        - atoi
        - calc_interval
        - calc_lifetime
        - calc_prio
        - difftime
        - dump_packet_icmp
        - expand
        - fclose
        - fgets
        - find_iface_param
        - fopen64
        - iface_enumerate
        - inet_ntop
        - inet_pton
        - my_syslog
        - new_timeout
        - option_filter
        - put_opt6
        - put_opt6_char
        - put_opt6_long
        - put_opt6_short
        - reset_counter
        - retry_send
        - save_counter
        - sendto
        - setaddr6part
        - setsockopt
        - sprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:265,35'
          Dst:             find_iface_param
        - Src:             'radv.c:281,23'
          Dst:             calc_interval
        - Src:             'radv.c:282,15'
          Dst:             calc_prio
        - Src:             'radv.c:284,3'
          Dst:             reset_counter
        - Src:             'radv.c:286,14'
          Dst:             expand
        - Src:             'radv.c:293,18'
          Dst:             calc_lifetime
        - Src:             'radv.c:293,18'
          Dst:             __bswap_16
        - Src:             'radv.c:310,8'
          Dst:             iface_enumerate
        - Src:             'radv.c:310,8'
          Dst:             add_prefixes
        - Src:             'radv.c:334,23'
          Dst:             difftime
        - Src:             'radv.c:343,3'
          Dst:             new_timeout
        - Src:             'radv.c:357,29'
          Dst:             addr6part
        - Src:             'radv.c:357,8'
          Dst:             setaddr6part
        - Src:             'radv.c:380,19'
          Dst:             expand
        - Src:             'radv.c:389,27'
          Dst:             __bswap_32
        - Src:             'radv.c:390,31'
          Dst:             __bswap_32
        - Src:             'radv.c:394,5'
          Dst:             inet_ntop
        - Src:             'radv.c:396,7'
          Dst:             my_syslog
        - Src:             'radv.c:408,20'
          Dst:             __bswap_16
        - Src:             'radv.c:418,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:419,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:420,7'
          Dst:             put_opt6_short
        - Src:             'radv.c:422,42'
          Dst:             find_iface_param
        - Src:             'radv.c:422,28'
          Dst:             calc_interval
        - Src:             'radv.c:422,7'
          Dst:             put_opt6_long
        - Src:             'radv.c:435,7'
          Dst:             sprintf
        - Src:             'radv.c:436,16'
          Dst:             fopen64
        - Src:             'radv.c:438,15'
          Dst:             fgets
        - Src:             'radv.c:439,19'
          Dst:             atoi
        - Src:             'radv.c:440,11'
          Dst:             fclose
        - Src:             'radv.c:446,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:447,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:448,7'
          Dst:             put_opt6_short
        - Src:             'radv.c:449,7'
          Dst:             put_opt6_long
        - Src:             'radv.c:452,3'
          Dst:             iface_enumerate
        - Src:             'radv.c:452,3'
          Dst:             add_lla
        - Src:             'radv.c:455,9'
          Dst:             option_filter
        - Src:             'radv.c:479,4'
          Dst:             __bswap_32
        - Src:             'radv.c:480,4'
          Dst:             __bswap_32
        - Src:             'radv.c:485,8'
          Dst:             put_opt6_char
        - Src:             'radv.c:486,8'
          Dst:             put_opt6_char
        - Src:             'radv.c:487,8'
          Dst:             put_opt6_short
        - Src:             'radv.c:488,8'
          Dst:             put_opt6_long
        - Src:             'radv.c:496,12'
          Dst:             __bswap_32
        - Src:             'radv.c:501,12'
          Dst:             __bswap_32
        - Src:             'radv.c:0,0'
          Dst:             put_opt6
        - Src:             'radv.c:515,4'
          Dst:             put_opt6_char
        - Src:             'radv.c:516,4'
          Dst:             put_opt6_char
        - Src:             'radv.c:517,4'
          Dst:             put_opt6_short
        - Src:             'radv.c:518,4'
          Dst:             put_opt6_long
        - Src:             'radv.c:519,4'
          Dst:             put_opt6
        - Src:             'radv.c:523,6'
          Dst:             put_opt6_char
        - Src:             'radv.c:530,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:531,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:532,7'
          Dst:             put_opt6_short
        - Src:             'radv.c:533,7'
          Dst:             put_opt6_long
        - Src:             'radv.c:534,7'
          Dst:             put_opt6
        - Src:             'radv.c:549,20'
          Dst:             __bswap_16
        - Src:             'radv.c:553,11'
          Dst:             __bswap_32
        - Src:             'radv.c:553,11'
          Dst:             __bswap_32
        - Src:             'radv.c:559,7'
          Dst:             inet_pton
        - Src:             'radv.c:560,7'
          Dst:             setsockopt
        - Src:             'radv.c:569,67'
          Dst:             save_counter
        - Src:             'radv.c:569,5'
          Dst:             dump_packet_icmp
        - Src:             'radv.c:574,7'
          Dst:             save_counter
        - Src:             'radv.c:573,21'
          Dst:             sendto
        - Src:             'radv.c:573,10'
          Dst:             retry_send
    - functionName:    icmp6_packet
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         88
      ICount:          412
      EdgeCount:       122
      CyclomaticComplexity: 36
      functionsReached:
        - __cmsg_nxthdr
        - dump_packet_icmp
        - if_nametoindex
        - iface_check
        - indextoname
        - lease_ping_reply
        - my_syslog
        - print_mac
        - recv_dhcp_packet
        - send_ra
        - send_ra_alias
        - wildcard_match
        - wildcard_matchn
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:165,13'
          Dst:             recv_dhcp_packet
        - Src:             'radv.c:170,52'
          Dst:             __cmsg_nxthdr
        - Src:             'radv.c:182,8'
          Dst:             indextoname
        - Src:             'radv.c:185,8'
          Dst:             iface_check
        - Src:             'radv.c:190,2'
          Dst:             wildcard_match
        - Src:             'radv.c:197,5'
          Dst:             lease_ping_reply
        - Src:             'radv.c:207,7'
          Dst:             dump_packet_icmp
        - Src:             'radv.c:220,8'
          Dst:             print_mac
        - Src:             'radv.c:226,2'
          Dst:             my_syslog
        - Src:             'radv.c:233,30'
          Dst:             if_nametoindex
        - Src:             'radv.c:237,7'
          Dst:             wildcard_matchn
        - Src:             'radv.c:241,7'
          Dst:             send_ra_alias
        - Src:             'radv.c:253,2'
          Dst:             send_ra
    - functionName:    ra_start_unsolicited
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          67
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - rand16
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:135,30'
          Dst:             rand16
    - functionName:    ra_init
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         38
      ICount:          179
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - die
        - expand_buf
        - fix_fd
        - getsockopt
        - ra_start_unsolicited
        - set_ipv6pktinfo
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:83,3'
          Dst:             expand_buf
        - Src:             'radv.c:100,13'
          Dst:             socket
        - Src:             'radv.c:101,7'
          Dst:             getsockopt
        - Src:             'radv.c:103,7'
          Dst:             setsockopt
        - Src:             'radv.c:105,8'
          Dst:             fix_fd
        - Src:             'radv.c:106,8'
          Dst:             set_ipv6pktinfo
        - Src:             'radv.c:107,7'
          Dst:             setsockopt
        - Src:             'radv.c:108,7'
          Dst:             setsockopt
        - Src:             'radv.c:109,7'
          Dst:             setsockopt
        - Src:             'radv.c:110,5'
          Dst:             die
        - Src:             'radv.c:115,6'
          Dst:             ra_start_unsolicited
    - functionName:    crec_ttl
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1571
      functionLinenumberEnd: 1601
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          99
      EdgeCount:       29
      CyclomaticComplexity: 10
      functionsReached:
        - difftime
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1572,21'
          Dst:             difftime
    - functionName:    cache_not_validated
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1604
      functionLinenumberEnd: 1605
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    crec_isstale
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1566
      functionLinenumberEnd: 1567
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - difftime
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1567,44'
          Dst:             difftime
    - functionName:    answer_request
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1612
      functionLinenumberEnd: 2400
      functionDepth:   0
      returnType:      size_t
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - int
        - size_t
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         662
      ICount:          3091
      EdgeCount:       920
      CyclomaticComplexity: 260
      functionsReached:
        - __bswap_16
        - add_resource_record
        - blockdata_retrieve
        - cache_find_by_addr
        - cache_find_by_name
        - cache_get_cname_target
        - cache_get_name
        - cache_make_stat
        - cache_not_validated
        - crec_isstale
        - crec_ttl
        - enumerate_interfaces
        - extract_name
        - hostname_isequal
        - hostname_issubdomain
        - in_arpa_name_2_addr
        - is_name_synthetic
        - is_rev_synth
        - is_same_net
        - log_query
        - log_txt
        - lookup_domain
        - private_net
        - private_net6
        - record_source
        - rr_on_list
        - skip_questions
        - strchr
        - strcmp
        - strcpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1637,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1638,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1639,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1651,16'
          Dst:             skip_questions
        - Src:             'rfc1035.c:1661,8'
          Dst:             extract_name
        - Src:             'rfc1035.c:1670,37'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:1675,6'
          Dst:             crec_isstale
        - Src:             'rfc1035.c:1690,52'
          Dst:             record_source
        - Src:             'rfc1035.c:1690,3'
          Dst:             log_query
        - Src:             'rfc1035.c:1698,17'
          Dst:             cache_get_cname_target
        - Src:             'rfc1035.c:1702,29'
          Dst:             cache_not_validated
        - Src:             'rfc1035.c:1710,55'
          Dst:             record_source
        - Src:             'rfc1035.c:1710,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1712,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:1711,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1722,2'
          Dst:             strcpy
        - Src:             'rfc1035.c:1730,30'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1741,10'
          Dst:             cache_make_stat
        - Src:             'rfc1035.c:1747,5'
          Dst:             log_query
        - Src:             'rfc1035.c:1748,9'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1760,11'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1760,49'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1767,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1779,47'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1783,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1784,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1793,18'
          Dst:             in_arpa_name_2_addr
        - Src:             'rfc1035.c:1798,10'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1813,26'
          Dst:             strcmp
        - Src:             'rfc1035.c:1828,26'
          Dst:             strcmp
        - Src:             'rfc1035.c:1836,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1837,12'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1846,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1848,7'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1849,7'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1855,33'
          Dst:             cache_find_by_addr
        - Src:             'rfc1035.c:1861,28'
          Dst:             cache_not_validated
        - Src:             'rfc1035.c:1867,13'
          Dst:             crec_isstale
        - Src:             'rfc1035.c:1889,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1897,58'
          Dst:             cache_get_name
        - Src:             'rfc1035.c:1898,9'
          Dst:             record_source
        - Src:             'rfc1035.c:1897,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1901,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:1902,27'
          Dst:             cache_get_name
        - Src:             'rfc1035.c:1900,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1905,25'
          Dst:             cache_find_by_addr
        - Src:             'rfc1035.c:1908,13'
          Dst:             is_rev_synth
        - Src:             'rfc1035.c:1912,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1914,12'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1920,29'
          Dst:             private_net6
        - Src:             'rfc1035.c:1920,84'
          Dst:             private_net
        - Src:             'rfc1035.c:1921,7'
          Dst:             lookup_domain
        - Src:             'rfc1035.c:1927,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1942,10'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1950,8'
          Dst:             enumerate_interfaces
        - Src:             'rfc1035.c:1956,9'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1959,6'
          Dst:             is_same_net
        - Src:             'rfc1035.c:1966,7'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1972,11'
          Dst:             is_same_net
        - Src:             'rfc1035.c:1981,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1982,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1990,3'
          Dst:             log_query
        - Src:             'rfc1035.c:1995,17'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2006,4'
          Dst:             is_same_net
        - Src:             'rfc1035.c:2011,23'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2017,28'
          Dst:             cache_not_validated
        - Src:             'rfc1035.c:2022,11'
          Dst:             crec_isstale
        - Src:             'rfc1035.c:2041,29'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:2048,4'
          Dst:             log_query
        - Src:             'rfc1035.c:2063,8'
          Dst:             log_query
        - Src:             'rfc1035.c:2072,9'
          Dst:             is_same_net
        - Src:             'rfc1035.c:2077,7'
          Dst:             record_source
        - Src:             'rfc1035.c:2076,4'
          Dst:             log_query
        - Src:             'rfc1035.c:2080,7'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:2079,8'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2084,23'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2086,13'
          Dst:             is_name_synthetic
        - Src:             'rfc1035.c:2089,8'
          Dst:             log_query
        - Src:             'rfc1035.c:2090,12'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2100,25'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:2107,3'
          Dst:             log_query
        - Src:             'rfc1035.c:2108,7'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2118,8'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2122,8'
          Dst:             log_query
        - Src:             'rfc1035.c:2123,12'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2135,24'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:2141,3'
          Dst:             log_query
        - Src:             'rfc1035.c:2142,7'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2175,10'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:2179,3'
          Dst:             log_query
        - Src:             'rfc1035.c:2180,7'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2194,4'
          Dst:             log_query
        - Src:             'rfc1035.c:2199,17'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2211,19'
          Dst:             cache_not_validated
        - Src:             'rfc1035.c:2216,11'
          Dst:             crec_isstale
        - Src:             'rfc1035.c:2229,34'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:2243,17'
          Dst:             blockdata_retrieve
        - Src:             'rfc1035.c:2253,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:2252,31'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2259,9'
          Dst:             log_txt
        - Src:             'rfc1035.c:2261,9'
          Dst:             log_query
        - Src:             'rfc1035.c:2263,26'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2266,84'
          Dst:             strchr
        - Src:             'rfc1035.c:2270,4'
          Dst:             log_query
        - Src:             'rfc1035.c:2274,37'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:2284,8'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2289,8'
          Dst:             log_query
        - Src:             'rfc1035.c:2312,23'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2318,13'
          Dst:             blockdata_retrieve
        - Src:             'rfc1035.c:2320,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:2319,3'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2339,28'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:2343,18'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2351,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:2350,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2375,20'
          Dst:             skip_questions
        - Src:             'rfc1035.c:2378,7'
          Dst:             log_query
        - Src:             'rfc1035.c:2388,21'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:2389,21'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:2390,21'
          Dst:             __bswap_16
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    30
      BranchProfiles:  []
      Callsites:       []
    - functionName:    skip_questions
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          46
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __bswap_16
        - skip_name
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:358,12'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:360,20'
          Dst:             skip_name
    - functionName:    extract_name
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         132
      ICount:          556
      EdgeCount:       186
      CyclomaticComplexity: 56
      functionsReached: []
      functionUses:    28
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_resource_record
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1432
      functionLinenumberEnd: 1563
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         138
      ICount:          688
      EdgeCount:       183
      CyclomaticComplexity: 47
      functionsReached:
        - do_rfc1035_name
        - strlen
      functionUses:    48
      BranchProfiles:
        - Branch String:   'rfc1035.c:1481,3'
          Branch Sides:    []
      Callsites:
        - Src:             'rfc1035.c:1456,25'
          Dst:             do_rfc1035_name
        - Src:             'rfc1035.c:1520,19'
          Dst:             do_rfc1035_name
        - Src:             'rfc1035.c:1537,17'
          Dst:             strlen
    - functionName:    in_arpa_name_2_addr
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         79
      ICount:          416
      EdgeCount:       110
      CyclomaticComplexity: 33
      functionsReached:
        - __ctype_b_loc
        - atoi
        - hostname_isequal
        - strlen
        - strtol
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:202,7'
          Dst:             strlen
        - Src:             'rfc1035.c:225,7'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:225,46'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'rfc1035.c:245,14'
          Dst:             atoi
        - Src:             'rfc1035.c:232,48'
          Dst:             strlen
        - Src:             'rfc1035.c:250,12'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:251,6'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:251,44'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'rfc1035.c:271,16'
          Dst:             strtol
        - Src:             'rfc1035.c:273,15'
          Dst:             strtol
        - Src:             'rfc1035.c:283,25'
          Dst:             __ctype_b_loc
        - Src:             'rfc1035.c:288,36'
          Dst:             strtol
        - Src:             'rfc1035.c:281,45'
          Dst:             strlen
    - functionName:    private_net6
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          135
      EdgeCount:       42
      CyclomaticComplexity: 14
      functionsReached:
        - __bswap_32
        - private_net
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:431,7'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:435,14'
          Dst:             private_net
        - Src:             'rfc1035.c:440,6'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:441,5'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:441,5'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:442,5'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:444,22'
          Dst:             __bswap_32
    - functionName:    private_net
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 425
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          113
      EdgeCount:       41
      CyclomaticComplexity: 14
      functionsReached:
        - __bswap_32
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:412,23'
          Dst:             __bswap_32
    - functionName:    log_txt
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 682
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          96
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __ctype_b_loc
        - log_query
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'rfc1035.c:675,7'
          Dst:             log_query
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    skip_name
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          131
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_for_ignored_address
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1426
      functionLinenumberEnd: 1427
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - check_bad_address
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1427,10'
          Dst:             check_bad_address
    - functionName:    check_bad_address
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1341
      functionLinenumberEnd: 1401
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          277
      EdgeCount:       77
      CyclomaticComplexity: 23
      functionsReached:
        - __bswap_16
        - extract_name
        - is_same_net6
        - is_same_net_prefix
        - skip_name
        - skip_questions
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1348,13'
          Dst:             skip_questions
        - Src:             'rfc1035.c:1351,12'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1353,20'
          Dst:             extract_name
        - Src:             'rfc1035.c:1356,26'
          Dst:             skip_name
        - Src:             'rfc1035.c:1378,23'
          Dst:             is_same_net_prefix
        - Src:             'rfc1035.c:1391,22'
          Dst:             is_same_net6
    - functionName:    check_for_bogus_wildcard
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1407
      functionLinenumberEnd: 1423
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cache_end_insert
        - cache_insert
        - cache_start_insert
        - check_bad_address
        - log_query
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1410,7'
          Dst:             check_bad_address
        - Src:             'rfc1035.c:1414,7'
          Dst:             cache_start_insert
        - Src:             'rfc1035.c:1415,7'
          Dst:             cache_insert
        - Src:             'rfc1035.c:1416,7'
          Dst:             cache_end_insert
        - Src:             'rfc1035.c:1417,7'
          Dst:             log_query
    - functionName:    check_for_local_domain
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1303
      functionLinenumberEnd: 1338
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         50
      ICount:          204
      EdgeCount:       68
      CyclomaticComplexity: 20
      functionsReached:
        - cache_find_non_terminal
        - hostname_issubdomain
        - is_name_synthetic
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1311,10'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1315,9'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1319,9'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1323,9'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1327,9'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1330,7'
          Dst:             cache_find_non_terminal
        - Src:             'rfc1035.c:1333,7'
          Dst:             is_name_synthetic
        - Src:             'rfc1035.c:1334,7'
          Dst:             is_name_synthetic
    - functionName:    setup_reply
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1271
      functionLinenumberEnd: 1299
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - __bswap_16
        - log_query
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1277,21'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1296,7'
          Dst:             log_query
    - functionName:    extract_request
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1225
      functionLinenumberEnd: 1268
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          177
      EdgeCount:       54
      CyclomaticComplexity: 17
      functionsReached:
        - __bswap_16
        - extract_name
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1234,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1237,35'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1237,66'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1240,8'
          Dst:             extract_name
    - functionName:    find_soa
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 650
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          405
      EdgeCount:       95
      CyclomaticComplexity: 29
      functionsReached:
        - __bswap_16
        - blockdata_alloc
        - blockdata_expand
        - blockdata_free
        - cache_insert
        - extract_name
        - memcmp
        - skip_questions
        - skip_section
        - strlen
        - to_wire
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:529,13'
          Dst:             skip_questions
        - Src:             'rfc1035.c:530,29'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:530,13'
          Dst:             skip_section
        - Src:             'rfc1035.c:533,14'
          Dst:             strlen
        - Src:             'rfc1035.c:538,19'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:540,12'
          Dst:             extract_name
        - Src:             'rfc1035.c:552,14'
          Dst:             strlen
        - Src:             'rfc1035.c:555,31'
          Dst:             memcmp
        - Src:             'rfc1035.c:561,33'
          Dst:             blockdata_alloc
        - Src:             'rfc1035.c:569,10'
          Dst:             extract_name
        - Src:             'rfc1035.c:569,10'
          Dst:             extract_name
        - Src:             'rfc1035.c:572,4'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:578,15'
          Dst:             to_wire
        - Src:             'rfc1035.c:579,14'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:581,6'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:569,10'
          Dst:             extract_name
        - Src:             'rfc1035.c:578,15'
          Dst:             to_wire
        - Src:             'rfc1035.c:579,14'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:592,7'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:601,10'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:603,9'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:620,10'
          Dst:             cache_insert
        - Src:             'rfc1035.c:622,9'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:538,19'
          Dst:             __bswap_16
    - functionName:    skip_section
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          61
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - skip_name
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:374,20'
          Dst:             skip_name
    - functionName:    extract_addresses
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 1133
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         231
      ICount:          1217
      EdgeCount:       327
      CyclomaticComplexity: 98
      functionsReached:
        - __bswap_16
        - add_to_ipset
        - blockdata_alloc
        - blockdata_expand
        - blockdata_free
        - cache_end_insert
        - cache_insert
        - cache_send_ipset
        - cache_start_insert
        - extract_name
        - find_soa
        - in_arpa_name_2_addr
        - log_query
        - log_txt
        - next_uid
        - private_net
        - private_net6
        - rr_on_list
        - rrfilter_desc
        - skip_questions
        - to_wire
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:711,3'
          Dst:             cache_start_insert
        - Src:             'rfc1035.c:715,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:715,39'
          Dst:             extract_name
        - Src:             'rfc1035.c:728,67'
          Dst:             in_arpa_name_2_addr
        - Src:             'rfc1035.c:732,18'
          Dst:             skip_questions
        - Src:             'rfc1035.c:735,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:735,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:738,16'
          Dst:             extract_name
        - Src:             'rfc1035.c:767,13'
          Dst:             extract_name
        - Src:             'rfc1035.c:769,8'
          Dst:             log_query
        - Src:             'rfc1035.c:770,8'
          Dst:             cache_insert
        - Src:             'rfc1035.c:774,13'
          Dst:             extract_name
        - Src:             'rfc1035.c:801,46'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:801,85'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:807,18'
          Dst:             skip_questions
        - Src:             'rfc1035.c:810,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:807,18'
          Dst:             skip_questions
        - Src:             'rfc1035.c:810,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:814,16'
          Dst:             extract_name
        - Src:             'rfc1035.c:855,8'
          Dst:             log_query
        - Src:             'rfc1035.c:859,17'
          Dst:             cache_insert
        - Src:             'rfc1035.c:865,6'
          Dst:             next_uid
        - Src:             'rfc1035.c:876,13'
          Dst:             extract_name
        - Src:             'rfc1035.c:889,3'
          Dst:             log_query
        - Src:             'rfc1035.c:897,27'
          Dst:             rrfilter_desc
        - Src:             'rfc1035.c:925,37'
          Dst:             blockdata_alloc
        - Src:             'rfc1035.c:934,15'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:946,15'
          Dst:             extract_name
        - Src:             'rfc1035.c:952,16'
          Dst:             to_wire
        - Src:             'rfc1035.c:953,15'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:967,15'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:979,14'
          Dst:             extract_name
        - Src:             'rfc1035.c:0,0'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:997,6'
          Dst:             private_net
        - Src:             'rfc1035.c:1001,6'
          Dst:             private_net6
        - Src:             'rfc1035.c:1013,8'
          Dst:             cache_send_ipset
        - Src:             'rfc1035.c:1016,14'
          Dst:             add_to_ipset
        - Src:             'rfc1035.c:1017,5'
          Dst:             log_query
        - Src:             'rfc1035.c:1036,12'
          Dst:             cache_insert
        - Src:             'rfc1035.c:1039,9'
          Dst:             next_uid
        - Src:             'rfc1035.c:1047,7'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:1054,30'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:1058,3'
          Dst:             log_txt
        - Src:             'rfc1035.c:1060,3'
          Dst:             log_query
        - Src:             'rfc1035.c:810,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1078,4'
          Dst:             log_query
        - Src:             'rfc1035.c:1092,34'
          Dst:             find_soa
        - Src:             'rfc1035.c:1108,12'
          Dst:             cache_insert
        - Src:             'rfc1035.c:1111,9'
          Dst:             next_uid
        - Src:             'rfc1035.c:1117,4'
          Dst:             find_soa
        - Src:             'rfc1035.c:1130,5'
          Dst:             cache_end_insert
    - functionName:    do_doctor
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 448
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          248
      EdgeCount:       59
      CyclomaticComplexity: 18
      functionsReached:
        - __bswap_16
        - __bswap_32
        - extract_name
        - is_same_net
        - log_query
        - skip_questions
        - skip_section
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:453,13'
          Dst:             skip_questions
        - Src:             'rfc1035.c:456,19'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:456,44'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:459,64'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:459,48'
          Dst:             skip_section
        - Src:             'rfc1035.c:462,12'
          Dst:             extract_name
        - Src:             'rfc1035.c:485,10'
          Dst:             is_same_net
        - Src:             'rfc1035.c:488,17'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:488,44'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:489,10'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:503,8'
          Dst:             log_query
        - Src:             'rfc1035.c:456,19'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:456,44'
          Dst:             __bswap_16
    - functionName:    resize_packet
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          66
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - __bswap_16
        - skip_questions
        - skip_section
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:387,25'
          Dst:             skip_questions
        - Src:             'rfc1035.c:393,35'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:393,60'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:393,85'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:393,16'
          Dst:             skip_section
        - Src:             'rfc1035.c:402,25'
          Dst:             __bswap_16
    - functionName:    add_local_addrs
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1553
      functionLinenumberEnd: 1573
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         38
      ICount:          164
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - put_opt6
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1569,6'
          Dst:             put_opt6
    - functionName:    update_leases
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1881
      functionLinenumberEnd: 1993
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          424
      EdgeCount:       104
      CyclomaticComplexity: 29
      functionsReached:
        - __bswap_16
        - get_domain6
        - inet_ntop
        - lease6_allocate
        - lease6_find_by_addr
        - lease_add_extradata
        - lease_set_expires
        - lease_set_hostname
        - lease_set_hwaddr
        - lease_set_iaid
        - lease_set_interface
        - opt6_find
        - opt6_next
        - opt6_uint
        - run_tag_if
        - sprintf
        - strcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1882,30'
          Dst:             lease6_find_by_addr
        - Src:             'rfc3315.c:1884,30'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:1890,13'
          Dst:             lease6_allocate
        - Src:             'rfc3315.c:1894,7'
          Dst:             lease_set_expires
        - Src:             'rfc3315.c:1895,7'
          Dst:             lease_set_iaid
        - Src:             'rfc3315.c:1896,7'
          Dst:             lease_set_hwaddr
        - Src:             'rfc3315.c:1897,7'
          Dst:             lease_set_interface
        - Src:             'rfc3315.c:1900,24'
          Dst:             get_domain6
        - Src:             'rfc3315.c:1903,4'
          Dst:             lease_set_hostname
        - Src:             'rfc3315.c:1917,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1919,34'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1922,42'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1922,8'
          Dst:             sprintf
        - Src:             'rfc3315.c:1923,72'
          Dst:             strlen
        - Src:             'rfc3315.c:1923,8'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1925,12'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1929,56'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1929,7'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1926,55'
          Dst:             opt6_next
        - Src:             'rfc3315.c:1934,35'
          Dst:             strlen
        - Src:             'rfc3315.c:1933,4'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1937,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1939,21'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1944,41'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:1944,9'
          Dst:             sprintf
        - Src:             'rfc3315.c:1943,3'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1947,6'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1944,41'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:1944,9'
          Dst:             sprintf
        - Src:             'rfc3315.c:1943,3'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1949,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1950,51'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1950,6'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1952,6'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1956,6'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1960,67'
          Dst:             strlen
        - Src:             'rfc3315.c:1960,3'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1970,8'
          Dst:             strcmp
        - Src:             'rfc3315.c:1973,56'
          Dst:             strlen
        - Src:             'rfc3315.c:1973,4'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1979,6'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:1981,88'
          Dst:             strlen
        - Src:             'rfc3315.c:1981,4'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1983,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1985,34'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1987,52'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1987,3'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1986,60'
          Dst:             opt6_next
    - functionName:    opt6_find
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2100
      functionLinenumberEnd: 2124
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          73
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    32
      BranchProfiles:  []
      Callsites:       []
    - functionName:    opt6_uint
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2143
      functionLinenumberEnd: 2152
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    67
      BranchProfiles:  []
      Callsites:       []
    - functionName:    opt6_next
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2127
      functionLinenumberEnd: 2140
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log6_opts
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1998
      functionLinenumberEnd: 2056
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          171
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - inet_ntop
        - log6_opts
        - my_syslog
        - opt6_next
        - opt6_uint
        - option_string
        - sprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2007,18'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2014,5'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2014,27'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2014,49'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2013,4'
          Dst:             sprintf
        - Src:             'rfc3315.c:2020,41'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2020,4'
          Dst:             sprintf
        - Src:             'rfc3315.c:2030,4'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:2032,23'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2032,46'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2031,4'
          Dst:             sprintf
        - Src:             'rfc3315.c:2038,47'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2038,14'
          Dst:             sprintf
        - Src:             'rfc3315.c:2039,53'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2040,27'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2047,67'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2047,14'
          Dst:             option_string
        - Src:             'rfc3315.c:2051,14'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2050,7'
          Dst:             my_syslog
        - Src:             'rfc3315.c:2054,32'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2054,2'
          Dst:             log6_opts
        - Src:             'rfc3315.c:2005,37'
          Dst:             opt6_next
    - functionName:    calculate_times
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1835
      functionLinenumberEnd: 1878
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          138
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    config_implies
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1747
      functionLinenumberEnd: 1773
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          119
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - addr6part
        - is_same_net6
        - setaddr6part
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1763,29'
          Dst:             addr6part
        - Src:             'rfc3315.c:1763,4'
          Dst:             setaddr6part
        - Src:             'rfc3315.c:1765,17'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:1768,11'
          Dst:             is_same_net6
    - functionName:    add_options
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1320
      functionLinenumberEnd: 1549
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         248
      ICount:          1125
      EdgeCount:       347
      CyclomaticComplexity: 101
      functionsReached:
        - __bswap_32
        - add_local_addrs
        - do_rfc1035_name
        - end_opt6
        - expand
        - match_netid
        - my_syslog
        - new_opt6
        - opt6_find
        - opt6_uint
        - option_filter
        - option_string
        - put_opt6
        - put_opt6_long
        - snprintf
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1323,30'
          Dst:             option_filter
        - Src:             'rfc3315.c:1328,9'
          Dst:             opt6_find
        - Src:             'rfc3315.c:0,0'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1339,10'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:0,0'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:1361,4'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:1367,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1375,14'
          Dst:             add_local_addrs
        - Src:             'rfc3315.c:1378,14'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:1383,14'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:0,0'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1399,9'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1400,9'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1403,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1411,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1413,6'
          Dst:             put_opt6
        - Src:             'rfc3315.c:0,0'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1420,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1421,12'
          Dst:             add_local_addrs
        - Src:             'rfc3315.c:1422,2'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1423,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1443,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1444,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1445,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:0,0'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1455,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1476,12'
          Dst:             match_netid
        - Src:             'rfc3315.c:1489,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1490,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1495,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1496,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1497,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1499,8'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1508,20'
          Dst:             strlen
        - Src:             'rfc3315.c:1511,9'
          Dst:             strlen
        - Src:             'rfc3315.c:1513,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1514,16'
          Dst:             expand
        - Src:             'rfc3315.c:1517,8'
          Dst:             do_rfc1035_name
        - Src:             'rfc3315.c:1520,12'
          Dst:             do_rfc1035_name
        - Src:             'rfc3315.c:1524,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1532,24'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1534,38'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1534,14'
          Dst:             option_string
        - Src:             'rfc3315.c:1537,4'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1540,9'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1535,9'
          Dst:             snprintf
        - Src:             'rfc3315.c:1541,14'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1544,8'
          Dst:             my_syslog
        - Src:             'rfc3315.c:1532,24'
          Dst:             opt6_uint
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log6_packet
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2065
      functionLinenumberEnd: 2097
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          100
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - inet_ntop
        - my_syslog
        - print_mac
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2072,3'
          Dst:             print_mac
        - Src:             'rfc3315.c:2076,7'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:2077,7'
          Dst:             strlen
        - Src:             'rfc3315.c:2083,5'
          Dst:             my_syslog
        - Src:             'rfc3315.c:2091,5'
          Dst:             my_syslog
    - functionName:    end_ia
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1639
      functionLinenumberEnd: 1660
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          65
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - put_opt6_long
        - rand16
        - save_counter
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1643,17'
          Dst:             save_counter
        - Src:             'rfc3315.c:1648,11'
          Dst:             rand16
        - Src:             'rfc3315.c:1656,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1657,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1658,7'
          Dst:             save_counter
    - functionName:    get_context_tag
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1578
      functionLinenumberEnd: 1595
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          81
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - match_netid
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1589,30'
          Dst:             match_netid
    - functionName:    mark_context_used
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1712
      functionLinenumberEnd: 1719
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          52
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - is_same_net6
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1717,9'
          Dst:             is_same_net6
    - functionName:    add_address
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1664
      functionLinenumberEnd: 1709
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          147
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - calculate_times
        - end_opt6
        - lease6_find_by_addr
        - log6_quiet
        - match_netid
        - new_opt6
        - opt6_uint
        - put_opt6
        - put_opt6_long
        - update_leases
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1666,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1672,25'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1673,21'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1676,3'
          Dst:             calculate_times
        - Src:             'rfc3315.c:1678,3'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1679,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1680,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1681,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1684,5'
          Dst:             update_leases
        - Src:             'rfc3315.c:1686,16'
          Dst:             lease6_find_by_addr
        - Src:             'rfc3315.c:1700,30'
          Dst:             match_netid
        - Src:             'rfc3315.c:1707,3'
          Dst:             log6_quiet
    - functionName:    log6_quiet
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2059
      functionLinenumberEnd: 2062
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          37
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - log6_packet
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2061,5'
          Dst:             log6_packet
    - functionName:    check_address
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1730
      functionLinenumberEnd: 1742
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          56
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - lease6_find_by_addr
        - memcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1733,17'
          Dst:             lease6_find_by_addr
        - Src:             'rfc3315.c:1737,7'
          Dst:             memcmp
    - functionName:    mark_config_used
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1722
      functionLinenumberEnd: 1726
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          50
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - is_same_net6
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1724,9'
          Dst:             is_same_net6
    - functionName:    config_valid
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1776
      functionLinenumberEnd: 1815
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          148
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - addr6part
        - check_address
        - difftime
        - is_same_net6
        - setaddr6part
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1785,2'
          Dst:             difftime
        - Src:             'rfc3315.c:1787,13'
          Dst:             addr6part
        - Src:             'rfc3315.c:1800,11'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:1807,6'
          Dst:             setaddr6part
        - Src:             'rfc3315.c:1809,10'
          Dst:             check_address
    - functionName:    build_ia
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1620
      functionLinenumberEnd: 1635
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - new_opt6
        - put_opt6_long
        - save_counter
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1621,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1623,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1629,17'
          Dst:             save_counter
        - Src:             'rfc3315.c:1631,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1632,7'
          Dst:             put_opt6_long
    - functionName:    check_ia
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1598
      functionLinenumberEnd: 1616
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          63
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - opt6_find
        - opt6_uint
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1599,20'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1605,42'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1608,42'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1611,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1612,17'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1613,16'
          Dst:             opt6_find
    - functionName:    dhcp6_no_relay
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 1317
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         559
      ICount:          2876
      EdgeCount:       767
      CyclomaticComplexity: 210
      functionsReached:
        - add_address
        - add_options
        - address6_allocate
        - address6_available
        - address6_valid
        - build_ia
        - calculate_times
        - check_address
        - check_ia
        - config_implies
        - config_valid
        - end_ia
        - end_opt6
        - find_config
        - get_context_tag
        - get_domain6
        - hostname_isequal
        - inet_ntop
        - lease6_allocate
        - lease6_find
        - lease6_find_by_client
        - lease6_reset
        - lease_prune
        - lease_set_expires
        - lease_set_hostname
        - lease_set_hwaddr
        - lease_set_iaid
        - legal_hostname
        - log6_opts
        - log6_packet
        - log6_quiet
        - log_tags
        - mark_config_used
        - mark_context_used
        - match_bytes
        - match_netid
        - memcmp
        - memcmp_masked
        - my_syslog
        - new_opt6
        - opt6_find
        - opt6_next
        - opt6_uint
        - prettyprint_time
        - print_mac
        - put_opt6
        - put_opt6_char
        - put_opt6_long
        - put_opt6_short
        - put_opt6_string
        - run_tag_if
        - save_counter
        - strip_hostname
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc3315.c:638,3'
          Branch Sides:    []
      Callsites:
        - Src:             'rfc3315.c:304,15'
          Dst:             save_counter
        - Src:             'rfc3315.c:306,8'
          Dst:             put_opt6
        - Src:             'rfc3315.c:308,16'
          Dst:             save_counter
        - Src:             'rfc3315.c:319,5'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:320,5'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:322,7'
          Dst:             my_syslog
        - Src:             'rfc3315.c:325,7'
          Dst:             my_syslog
        - Src:             'rfc3315.c:330,14'
          Dst:             opt6_find
        - Src:             'rfc3315.c:341,9'
          Dst:             opt6_find
        - Src:             'rfc3315.c:333,25'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:334,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:335,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:336,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:341,9'
          Dst:             opt6_find
        - Src:             'rfc3315.c:354,16'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:355,9'
          Dst:             memcmp
        - Src:             'rfc3315.c:364,19'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:365,4'
          Dst:             memcmp
        - Src:             'rfc3315.c:369,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:370,3'
          Dst:             put_opt6
        - Src:             'rfc3315.c:371,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:378,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:379,7'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:380,7'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:381,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:397,18'
          Dst:             opt6_find
        - Src:             'rfc3315.c:399,30'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:407,34'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:0,0'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:416,12'
          Dst:             memcmp
        - Src:             'rfc3315.c:414,61'
          Dst:             opt6_next
        - Src:             'rfc3315.c:425,43'
          Dst:             opt6_find
        - Src:             'rfc3315.c:426,73'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:426,5'
          Dst:             my_syslog
        - Src:             'rfc3315.c:438,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:443,21'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:445,20'
          Dst:             opt6_find
        - Src:             'rfc3315.c:448,56'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:448,16'
          Dst:             match_bytes
        - Src:             'rfc3315.c:447,23'
          Dst:             opt6_next
        - Src:             'rfc3315.c:447,13'
          Dst:             opt6_find
        - Src:             'rfc3315.c:440,25'
          Dst:             opt6_next
        - Src:             'rfc3315.c:440,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:456,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:459,51'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:459,12'
          Dst:             match_bytes
        - Src:             'rfc3315.c:473,4'
          Dst:             print_mac
        - Src:             'rfc3315.c:474,4'
          Dst:             my_syslog
        - Src:             'rfc3315.c:480,6'
          Dst:             memcmp_masked
        - Src:             'rfc3315.c:487,5'
          Dst:             my_syslog
        - Src:             'rfc3315.c:489,14'
          Dst:             opt6_find
        - Src:             'rfc3315.c:492,18'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:494,28'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:520,9'
          Dst:             legal_hostname
        - Src:             'rfc3315.c:523,21'
          Dst:             strlen
        - Src:             'rfc3315.c:528,4'
          Dst:             my_syslog
        - Src:             'rfc3315.c:532,18'
          Dst:             strlen
        - Src:             'rfc3315.c:543,10'
          Dst:             hostname_isequal
        - Src:             'rfc3315.c:543,10'
          Dst:             hostname_isequal
        - Src:             'rfc3315.c:559,59'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:558,17'
          Dst:             find_config
        - Src:             'rfc3315.c:568,23'
          Dst:             strip_hostname
        - Src:             'rfc3315.c:579,119'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:579,34'
          Dst:             find_config
        - Src:             'rfc3315.c:606,61'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:605,5'
          Dst:             find_config
        - Src:             'rfc3315.c:613,11'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:621,6'
          Dst:             match_netid
        - Src:             'rfc3315.c:631,27'
          Dst:             match_netid
        - Src:             'rfc3315.c:653,6'
          Dst:             opt6_find
        - Src:             'rfc3315.c:657,10'
          Dst:             new_opt6
        - Src:             'rfc3315.c:658,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:661,4'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:671,2'
          Dst:             lease6_reset
        - Src:             'rfc3315.c:690,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:697,10'
          Dst:             build_ia
        - Src:             'rfc3315.c:706,12'
          Dst:             address6_valid
        - Src:             'rfc3315.c:712,46'
          Dst:             config_valid
        - Src:             'rfc3315.c:715,4'
          Dst:             mark_config_used
        - Src:             'rfc3315.c:719,22'
          Dst:             address6_available
        - Src:             'rfc3315.c:721,17'
          Dst:             check_address
        - Src:             'rfc3315.c:725,7'
          Dst:             add_address
        - Src:             'rfc3315.c:726,7'
          Dst:             mark_context_used
        - Src:             'rfc3315.c:727,7'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:701,74'
          Dst:             opt6_next
        - Src:             'rfc3315.c:701,64'
          Dst:             opt6_find
        - Src:             'rfc3315.c:735,5'
          Dst:             match_netid
        - Src:             'rfc3315.c:736,5'
          Dst:             config_valid
        - Src:             'rfc3315.c:738,5'
          Dst:             mark_config_used
        - Src:             'rfc3315.c:745,5'
          Dst:             add_address
        - Src:             'rfc3315.c:746,5'
          Dst:             mark_context_used
        - Src:             'rfc3315.c:747,5'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:753,21'
          Dst:             lease6_find_by_client
        - Src:             'rfc3315.c:766,18'
          Dst:             address6_allocate
        - Src:             'rfc3315.c:756,12'
          Dst:             address6_available
        - Src:             'rfc3315.c:758,7'
          Dst:             add_address
        - Src:             'rfc3315.c:759,7'
          Dst:             mark_context_used
        - Src:             'rfc3315.c:760,7'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:769,3'
          Dst:             add_address
        - Src:             'rfc3315.c:770,3'
          Dst:             mark_context_used
        - Src:             'rfc3315.c:771,3'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:766,18'
          Dst:             address6_allocate
        - Src:             'rfc3315.c:781,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:782,3'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:783,3'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:784,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:787,6'
          Dst:             end_ia
        - Src:             'rfc3315.c:788,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:677,47'
          Dst:             opt6_next
        - Src:             'rfc3315.c:793,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:794,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:795,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:796,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:800,10'
          Dst:             new_opt6
        - Src:             'rfc3315.c:801,6'
          Dst:             put_opt6_char
        - Src:             'rfc3315.c:802,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:807,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:808,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:809,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:810,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:818,5'
          Dst:             log6_packet
        - Src:             'rfc3315.c:823,10'
          Dst:             add_options
        - Src:             'rfc3315.c:830,14'
          Dst:             save_counter
        - Src:             'rfc3315.c:836,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:847,12'
          Dst:             check_ia
        - Src:             'rfc3315.c:858,10'
          Dst:             build_ia
        - Src:             'rfc3315.c:870,12'
          Dst:             address6_valid
        - Src:             'rfc3315.c:873,18'
          Dst:             address6_available
        - Src:             'rfc3315.c:871,18'
          Dst:             config_implies
        - Src:             'rfc3315.c:873,18'
          Dst:             address6_available
        - Src:             'rfc3315.c:878,9'
          Dst:             new_opt6
        - Src:             'rfc3315.c:879,4'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:880,4'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:881,4'
          Dst:             end_opt6
        - Src:             'rfc3315.c:883,17'
          Dst:             check_address
        - Src:             'rfc3315.c:883,17'
          Dst:             check_address
        - Src:             'rfc3315.c:886,9'
          Dst:             new_opt6
        - Src:             'rfc3315.c:887,4'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:888,4'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:889,4'
          Dst:             end_opt6
        - Src:             'rfc3315.c:901,4'
          Dst:             add_address
        - Src:             'rfc3315.c:902,4'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:909,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:910,7'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:911,7'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:912,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:860,46'
          Dst:             opt6_next
        - Src:             'rfc3315.c:860,36'
          Dst:             opt6_find
        - Src:             'rfc3315.c:916,6'
          Dst:             end_ia
        - Src:             'rfc3315.c:917,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:854,4'
          Dst:             save_counter
        - Src:             'rfc3315.c:841,47'
          Dst:             opt6_next
        - Src:             'rfc3315.c:922,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:923,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:924,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:925,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:930,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:931,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:932,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:933,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:934,6'
          Dst:             log6_packet
        - Src:             'rfc3315.c:937,10'
          Dst:             add_options
        - Src:             'rfc3315.c:950,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:958,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:961,10'
          Dst:             build_ia
        - Src:             'rfc3315.c:962,15'
          Dst:             save_counter
        - Src:             'rfc3315.c:968,34'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:969,30'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:975,17'
          Dst:             lease6_find
        - Src:             'rfc3315.c:984,14'
          Dst:             lease6_allocate
        - Src:             'rfc3315.c:986,6'
          Dst:             lease_set_iaid
        - Src:             'rfc3315.c:995,4'
          Dst:             save_counter
        - Src:             'rfc3315.c:998,4'
          Dst:             log6_packet
        - Src:             'rfc3315.c:1000,9'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1001,4'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1002,4'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1003,4'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1010,23'
          Dst:             address6_available
        - Src:             'rfc3315.c:1011,23'
          Dst:             address6_valid
        - Src:             'rfc3315.c:1015,7'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:1017,11'
          Dst:             config_implies
        - Src:             'rfc3315.c:1022,7'
          Dst:             calculate_times
        - Src:             'rfc3315.c:1024,7'
          Dst:             lease_set_expires
        - Src:             'rfc3315.c:1027,9'
          Dst:             lease_set_hwaddr
        - Src:             'rfc3315.c:1030,24'
          Dst:             get_domain6
        - Src:             'rfc3315.c:1033,4'
          Dst:             lease_set_hostname
        - Src:             'rfc3315.c:1050,5'
          Dst:             log6_packet
        - Src:             'rfc3315.c:1052,5'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1054,9'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1055,3'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1056,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1057,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1058,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:964,46'
          Dst:             opt6_next
        - Src:             'rfc3315.c:964,36'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1061,6'
          Dst:             end_ia
        - Src:             'rfc3315.c:1062,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:952,47'
          Dst:             opt6_next
        - Src:             'rfc3315.c:1068,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1069,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1070,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1071,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1074,10'
          Dst:             add_options
        - Src:             'rfc3315.c:1085,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1091,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:1100,8'
          Dst:             address6_valid
        - Src:             'rfc3315.c:0,0'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1093,26'
          Dst:             opt6_next
        - Src:             'rfc3315.c:1093,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1087,47'
          Dst:             opt6_next
        - Src:             'rfc3315.c:1117,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1118,2'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1119,2'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1120,2'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1127,6'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1128,6'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1145,25'
          Dst:             get_domain6
        - Src:             'rfc3315.c:1147,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1147,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1151,10'
          Dst:             add_options
        - Src:             'rfc3315.c:1161,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1168,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:1177,16'
          Dst:             lease6_find
        - Src:             'rfc3315.c:1179,5'
          Dst:             lease_prune
        - Src:             'rfc3315.c:1184,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1185,4'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1188,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1189,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1194,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1195,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1196,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1197,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1198,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1170,26'
          Dst:             opt6_next
        - Src:             'rfc3315.c:1170,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1204,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1205,3'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1206,3'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1207,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1209,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1163,47'
          Dst:             opt6_next
        - Src:             'rfc3315.c:1213,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1214,2'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1215,2'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1216,2'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1226,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1233,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:1244,20'
          Dst:             config_implies
        - Src:             'rfc3315.c:1246,7'
          Dst:             prettyprint_time
        - Src:             'rfc3315.c:1247,7'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:1248,7'
          Dst:             my_syslog
        - Src:             'rfc3315.c:1258,16'
          Dst:             lease6_find
        - Src:             'rfc3315.c:1260,5'
          Dst:             lease_prune
        - Src:             'rfc3315.c:1265,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1266,4'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1269,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1270,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1275,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1276,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1277,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1278,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1279,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1235,26'
          Dst:             opt6_next
        - Src:             'rfc3315.c:1235,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1285,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1286,3'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1287,3'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1288,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1290,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1228,47'
          Dst:             opt6_next
        - Src:             'rfc3315.c:1296,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1297,2'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1298,2'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1299,2'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1305,3'
          Dst:             log_tags
        - Src:             'rfc3315.c:1313,120'
          Dst:             save_counter
        - Src:             'rfc3315.c:1313,3'
          Dst:             log6_opts
    - functionName:    do_snoop_script_run
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2339
      functionLinenumberEnd: 2355
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          57
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - queue_relay_snoop
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2350,2'
          Dst:             queue_relay_snoop
    - functionName:    relay_reply6
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2258
      functionLinenumberEnd: 2335
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          255
      EdgeCount:       71
      CyclomaticComplexity: 22
      functionsReached:
        - __bswap_16
        - opt6_find
        - opt6_next
        - opt6_uint
        - put_opt6
        - reset_counter
        - whine_malloc
        - wildcard_match
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2273,24'
          Dst:             wildcard_match
        - Src:             'rfc3315.c:2276,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:2276,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:2283,18'
          Dst:             opt6_find
        - Src:             'rfc3315.c:2285,21'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2286,31'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2286,4'
          Dst:             put_opt6
        - Src:             'rfc3315.c:2292,26'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:2296,22'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:2303,14'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2305,19'
          Dst:             opt6_find
        - Src:             'rfc3315.c:2308,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2310,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:2312,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2315,31'
          Dst:             whine_malloc
        - Src:             'rfc3315.c:2321,28'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2310,81'
          Dst:             opt6_next
        - Src:             'rfc3315.c:2310,71'
          Dst:             opt6_find
    - functionName:    relay_upstream6
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2157
      functionLinenumberEnd: 2255
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - size_t
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          364
      EdgeCount:       91
      CyclomaticComplexity: 27
      functionsReached:
        - __bswap_16
        - dump_packet_udp
        - end_opt6
        - get_client_mac
        - if_nametoindex
        - inet_ntop
        - inet_pton
        - my_syslog
        - new_opt6
        - put_opt6
        - put_opt6_short
        - reset_counter
        - retry_send
        - sa_len
        - save_counter
        - sendto
        - setsockopt
        - snprintf
        - strchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2175,3'
          Dst:             inet_pton
        - Src:             'rfc3315.c:2176,3'
          Dst:             get_client_mac
        - Src:             'rfc3315.c:2184,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:2184,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:2187,35'
          Dst:             put_opt6
        - Src:             'rfc3315.c:2197,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:2198,7'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:2199,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:2200,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:2203,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:2204,3'
          Dst:             put_opt6
        - Src:             'rfc3315.c:2205,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:2219,21'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:2226,31'
          Dst:             strchr
        - Src:             'rfc3315.c:2227,22'
          Dst:             if_nametoindex
        - Src:             'rfc3315.c:2228,3'
          Dst:             setsockopt
        - Src:             'rfc3315.c:2230,3'
          Dst:             my_syslog
        - Src:             'rfc3315.c:2236,67'
          Dst:             save_counter
        - Src:             'rfc3315.c:2236,2'
          Dst:             dump_packet_udp
        - Src:             'rfc3315.c:2239,80'
          Dst:             save_counter
        - Src:             'rfc3315.c:2240,33'
          Dst:             sa_len
        - Src:             'rfc3315.c:2239,20'
          Dst:             sendto
        - Src:             'rfc3315.c:2239,9'
          Dst:             retry_send
        - Src:             'rfc3315.c:2244,6'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:2246,8'
          Dst:             snprintf
        - Src:             'rfc3315.c:2248,8'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:2249,6'
          Dst:             my_syslog
    - functionName:    dhcp6_maybe_relay
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         121
      ICount:          569
      EdgeCount:       170
      CyclomaticComplexity: 51
      functionsReached:
        - __bswap_32
        - dhcp6_maybe_relay
        - dhcp6_no_relay
        - end_opt6
        - get_client_mac
        - inet_ntop
        - is_same_net6
        - memcmp
        - my_syslog
        - new_opt6
        - opt6_find
        - opt6_next
        - opt6_uint
        - put_opt6
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:137,9'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:138,9'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:138,9'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:153,4'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:154,4'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:161,8'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:162,8'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:172,8'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:173,8'
          Dst:             my_syslog
        - Src:             'rfc3315.c:130,2'
          Dst:             get_client_mac
        - Src:             'rfc3315.c:182,4'
          Dst:             my_syslog
        - Src:             'rfc3315.c:187,14'
          Dst:             dhcp6_no_relay
        - Src:             'rfc3315.c:196,23'
          Dst:             put_opt6
        - Src:             'rfc3315.c:212,18'
          Dst:             opt6_find
        - Src:             'rfc3315.c:213,19'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:214,4'
          Dst:             memcmp
        - Src:             'rfc3315.c:224,14'
          Dst:             opt6_find
        - Src:             'rfc3315.c:226,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:229,25'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:230,24'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:236,41'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:240,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:242,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:243,8'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:255,56'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:255,13'
          Dst:             dhcp6_maybe_relay
        - Src:             'rfc3315.c:259,33'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:259,6'
          Dst:             put_opt6
        - Src:             'rfc3315.c:260,4'
          Dst:             end_opt6
        - Src:             'rfc3315.c:234,31'
          Dst:             opt6_next
    - functionName:    dhcp6_reply
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      short
      argCount:        10
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          94
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - dhcp6_maybe_relay
        - reset_counter
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:88,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:100,7'
          Dst:             dhcp6_maybe_relay
    - functionName:    from_wire
      functionSourceFile: '/src/dnsmasq/src/rrfilter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 434
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          107
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    to_wire
      functionSourceFile: '/src/dnsmasq/src/rrfilter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          130
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rrfilter_desc
      functionSourceFile: '/src/dnsmasq/src/rrfilter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          60
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_rrs
      functionSourceFile: '/src/dnsmasq/src/rrfilter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          197
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached:
        - __bswap_16
        - check_name
        - rrfilter_desc
        - skip_name
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rrfilter.c:114,19'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:114,44'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:114,69'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:118,17'
          Dst:             skip_name
        - Src:             'rrfilter.c:134,9'
          Dst:             check_name
        - Src:             'rrfilter.c:141,25'
          Dst:             rrfilter_desc
        - Src:             'rrfilter.c:145,15'
          Dst:             check_name
        - Src:             'rrfilter.c:114,19'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:114,44'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:114,69'
          Dst:             __bswap_16
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    25
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_name
      functionSourceFile: '/src/dnsmasq/src/rrfilter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          214
      EdgeCount:       59
      CyclomaticComplexity: 18
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_workspace
      functionSourceFile: '/src/dnsmasq/src/rrfilter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - whine_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rrfilter.c:350,13'
          Dst:             whine_realloc
    - functionName:    rrfilter
      functionSourceFile: '/src/dnsmasq/src/rrfilter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         99
      ICount:          574
      EdgeCount:       140
      CyclomaticComplexity: 43
      functionsReached:
        - __bswap_16
        - check_name
        - check_rrs
        - expand_workspace
        - rr_on_list
        - skip_name
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rrfilter.c:173,7'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:174,13'
          Dst:             skip_name
        - Src:             'rrfilter.c:183,12'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:183,37'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:183,62'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:189,17'
          Dst:             skip_name
        - Src:             'rrfilter.c:203,13'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:203,38'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:213,12'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:216,34'
          Dst:             rr_on_list
        - Src:             'rrfilter.c:227,13'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:233,9'
          Dst:             rr_on_list
        - Src:             'rrfilter.c:237,12'
          Dst:             expand_workspace
        - Src:             'rrfilter.c:243,15'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:245,21'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:183,12'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:183,37'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:183,62'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:261,8'
          Dst:             check_name
        - Src:             'rrfilter.c:266,8'
          Dst:             check_rrs
        - Src:             'rrfilter.c:272,3'
          Dst:             check_name
        - Src:             'rrfilter.c:275,3'
          Dst:             check_rrs
        - Src:             'rrfilter.c:288,21'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:288,21'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:289,21'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:289,21'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:290,21'
          Dst:             __bswap_16
        - Src:             'rrfilter.c:290,21'
          Dst:             __bswap_16
    - functionName:    slaac_ping_reply
      functionSourceFile: '/src/dnsmasq/src/slaac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          146
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached:
        - inet_ntop
        - lease_update_dns
        - my_syslog
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'slaac.c:205,6'
          Dst:             inet_ntop
        - Src:             'slaac.c:207,8'
          Dst:             my_syslog
        - Src:             'slaac.c:210,3'
          Dst:             lease_update_dns
    - functionName:    periodic_slaac
      functionSourceFile: '/src/dnsmasq/src/slaac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         61
      ICount:          287
      EdgeCount:       83
      CyclomaticComplexity: 24
      functionsReached:
        - __errno_location
        - difftime
        - expand
        - rand16
        - reset_counter
        - save_counter
        - sendto
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'slaac.c:135,15'
          Dst:             rand16
        - Src:             'slaac.c:144,6'
          Dst:             difftime
        - Src:             'slaac.c:149,6'
          Dst:             reset_counter
        - Src:             'slaac.c:151,19'
          Dst:             expand
        - Src:             'slaac.c:167,62'
          Dst:             save_counter
        - Src:             'slaac.c:167,10'
          Dst:             sendto
        - Src:             'slaac.c:169,3'
          Dst:             __errno_location
        - Src:             'slaac.c:174,54'
          Dst:             rand16
        - Src:             'slaac.c:176,25'
          Dst:             rand16
        - Src:             'slaac.c:183,26'
          Dst:             difftime
    - functionName:    slaac_add_addrs
      functionSourceFile: '/src/dnsmasq/src/slaac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          373
      EdgeCount:       102
      CyclomaticComplexity: 31
      functionsReached:
        - lease_update_dns
        - ra_start_unsolicited
        - whine_malloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'slaac.c:91,25'
          Dst:             whine_malloc
        - Src:             'slaac.c:97,6'
          Dst:             ra_start_unsolicited
        - Src:             'slaac.c:108,5'
          Dst:             lease_update_dns
        - Src:             'slaac.c:108,5'
          Dst:             lease_update_dns
    - functionName:    check_tftp_fileperm
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 539
      functionLinenumberEnd: 619
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          227
      EdgeCount:       62
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - close
        - fstat64
        - geteuid
        - open64
        - strcmp
        - strcpy
        - strerror
        - strlen
        - strstr
        - tftp_err
        - tftp_err_oops
        - whine_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:543,15'
          Dst:             geteuid
        - Src:             'tftp.c:548,17'
          Dst:             strstr
        - Src:             'tftp.c:551,13'
          Dst:             open64
        - Src:             'tftp.c:553,11'
          Dst:             __errno_location
        - Src:             'tftp.c:555,11'
          Dst:             tftp_err
        - Src:             'tftp.c:615,11'
          Dst:             tftp_err_oops
        - Src:             'tftp.c:565,7'
          Dst:             fstat64
        - Src:             'tftp.c:586,2'
          Dst:             strcmp
        - Src:             'tftp.c:588,2'
          Dst:             close
        - Src:             'tftp.c:593,56'
          Dst:             strlen
        - Src:             'tftp.c:593,16'
          Dst:             whine_malloc
        - Src:             'tftp.c:605,3'
          Dst:             strcpy
        - Src:             'tftp.c:609,75'
          Dst:             strerror
        - Src:             'tftp.c:609,11'
          Dst:             tftp_err
        - Src:             'tftp.c:611,5'
          Dst:             close
        - Src:             'tftp.c:595,7'
          Dst:             __errno_location
        - Src:             'tftp.c:615,11'
          Dst:             tftp_err_oops
        - Src:             'tftp.c:617,5'
          Dst:             close
    - functionName:    geteuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tftp_err
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 875
      functionLinenumberEnd: 893
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          68
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __bswap_16
        - my_syslog
        - sanitise
        - snprintf
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:883,5'
          Dst:             sanitise
        - Src:             'tftp.c:885,14'
          Dst:             __bswap_16
        - Src:             'tftp.c:886,15'
          Dst:             __bswap_16
        - Src:             'tftp.c:887,9'
          Dst:             snprintf
        - Src:             'tftp.c:891,5'
          Dst:             my_syslog
    - functionName:    tftp_err_oops
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 897
      functionLinenumberEnd: 901
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - strcpy
        - strerror
        - tftp_err
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:900,5'
          Dst:             strcpy
        - Src:             'tftp.c:901,91'
          Dst:             __errno_location
        - Src:             'tftp.c:901,82'
          Dst:             strerror
        - Src:             'tftp.c:901,10'
          Dst:             tftp_err
    - functionName:    sanitise
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 858
      functionLinenumberEnd: 871
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          69
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __ctype_b_loc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:0,0'
          Dst:             __ctype_b_loc
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    next
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 841
      functionLinenumberEnd: 853
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          56
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    do_tftp_script_run
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1025
      functionLinenumberEnd: 1039
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - free_transfer
        - queue_tftp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:1032,7'
          Dst:             queue_tftp
        - Src:             'tftp.c:1034,7'
          Dst:             free_transfer
    - functionName:    free_transfer
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 827
      functionLinenumberEnd: 838
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          56
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - close
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:829,5'
          Dst:             close
        - Src:             'tftp.c:833,7'
          Dst:             close
    - functionName:    get_block
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 906
      functionLinenumberEnd: 1021
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         61
      ICount:          370
      EdgeCount:       83
      CyclomaticComplexity: 24
      functionsReached:
        - __bswap_16
        - lseek64
        - read_write
        - sprintf
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:924,18'
          Dst:             __bswap_16
        - Src:             'tftp.c:928,10'
          Dst:             sprintf
        - Src:             'tftp.c:933,10'
          Dst:             sprintf
        - Src:             'tftp.c:938,10'
          Dst:             sprintf
        - Src:             'tftp.c:943,10'
          Dst:             sprintf
        - Src:             'tftp.c:974,18'
          Dst:             __bswap_16
        - Src:             'tftp.c:975,21'
          Dst:             __bswap_16
        - Src:             'tftp.c:980,8'
          Dst:             lseek64
        - Src:             'tftp.c:983,9'
          Dst:             read_write
    - functionName:    handle_tftp
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 753
      functionLinenumberEnd: 824
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          188
      EdgeCount:       45
      CyclomaticComplexity: 15
      functionsReached:
        - __bswap_16
        - my_syslog
        - next
        - prettyprint_addr
        - sanitise
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:760,11'
          Dst:             __bswap_16
        - Src:             'tftp.c:763,14'
          Dst:             __bswap_16
        - Src:             'tftp.c:806,16'
          Dst:             next
        - Src:             'tftp.c:808,10'
          Dst:             prettyprint_addr
        - Src:             'tftp.c:814,6'
          Dst:             sanitise
        - Src:             'tftp.c:817,12'
          Dst:             __bswap_16
        - Src:             'tftp.c:816,4'
          Dst:             my_syslog
    - functionName:    tftp_request
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 536
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         295
      ICount:          1521
      EdgeCount:       408
      CyclomaticComplexity: 115
      functionsReached:
        - __bswap_16
        - __cmsg_nxthdr
        - __ctype_tolower_loc
        - __errno_location
        - atoi
        - bind
        - check_tftp_fileperm
        - dump_packet_udp
        - enumerate_interfaces
        - find_mac
        - fix_fd
        - free_transfer
        - get_block
        - getsockname
        - handle_tftp
        - iface_check
        - indextoname
        - ioctl
        - label_exception
        - lease_find_by_addr
        - loopback_exception
        - my_syslog
        - next
        - prettyprint_addr
        - recvmsg
        - sa_len
        - safe_strncpy
        - send_from
        - setsockopt
        - snprintf
        - sockaddr_isequal
        - socket
        - stat64
        - strcasecmp
        - strcmp
        - strlen
        - strncat
        - strstr
        - tftp_err
        - tftp_err_oops
        - whine_malloc
        - wildcard_match
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:93,14'
          Dst:             recvmsg
        - Src:             'tftp.c:97,3'
          Dst:             dump_packet_udp
        - Src:             'tftp.c:116,8'
          Dst:             getsockname
        - Src:             'tftp.c:131,51'
          Dst:             __cmsg_nxthdr
        - Src:             'tftp.c:179,60'
          Dst:             __cmsg_nxthdr
        - Src:             'tftp.c:193,12'
          Dst:             indextoname
        - Src:             'tftp.c:193,12'
          Dst:             indextoname
        - Src:             'tftp.c:207,23'
          Dst:             wildcard_match
        - Src:             'tftp.c:216,9'
          Dst:             iface_check
        - Src:             'tftp.c:219,3'
          Dst:             enumerate_interfaces
        - Src:             'tftp.c:220,13'
          Dst:             loopback_exception
        - Src:             'tftp.c:221,6'
          Dst:             label_exception
        - Src:             'tftp.c:229,3'
          Dst:             wildcard_match
        - Src:             'tftp.c:234,7'
          Dst:             safe_strncpy
        - Src:             'tftp.c:235,11'
          Dst:             ioctl
        - Src:             'tftp.c:256,8'
          Dst:             sockaddr_isequal
        - Src:             'tftp.c:258,12'
          Dst:             __bswap_16
        - Src:             'tftp.c:267,5'
          Dst:             handle_tftp
        - Src:             'tftp.c:284,6'
          Dst:             strcmp
        - Src:             'tftp.c:290,26'
          Dst:             __bswap_16
        - Src:             'tftp.c:297,28'
          Dst:             __bswap_16
        - Src:             'tftp.c:306,33'
          Dst:             whine_malloc
        - Src:             'tftp.c:313,32'
          Dst:             socket
        - Src:             'tftp.c:331,9'
          Dst:             prettyprint_addr
        - Src:             'tftp.c:336,44'
          Dst:             sa_len
        - Src:             'tftp.c:336,11'
          Dst:             bind
        - Src:             'tftp.c:338,4'
          Dst:             setsockopt
        - Src:             'tftp.c:340,5'
          Dst:             fix_fd
        - Src:             'tftp.c:342,8'
          Dst:             __errno_location
        - Src:             'tftp.c:0,0'
          Dst:             __bswap_16
        - Src:             'tftp.c:353,8'
          Dst:             my_syslog
        - Src:             'tftp.c:355,4'
          Dst:             free_transfer
        - Src:             'tftp.c:366,7'
          Dst:             __bswap_16
        - Src:             'tftp.c:367,11'
          Dst:             tftp_err
        - Src:             'tftp.c:370,24'
          Dst:             next
        - Src:             'tftp.c:371,8'
          Dst:             tftp_err
        - Src:             'tftp.c:372,25'
          Dst:             next
        - Src:             'tftp.c:372,44'
          Dst:             strcasecmp
        - Src:             'tftp.c:372,78'
          Dst:             strcasecmp
        - Src:             'tftp.c:373,8'
          Dst:             tftp_err
        - Src:             'tftp.c:378,8'
          Dst:             strcasecmp
        - Src:             'tftp.c:381,18'
          Dst:             next
        - Src:             'tftp.c:381,43'
          Dst:             next
        - Src:             'tftp.c:383,27'
          Dst:             atoi
        - Src:             'tftp.c:385,12'
          Dst:             strcasecmp
        - Src:             'tftp.c:399,17'
          Dst:             strcasecmp
        - Src:             'tftp.c:404,17'
          Dst:             strcasecmp
        - Src:             'tftp.c:412,17'
          Dst:             strcasecmp
        - Src:             'tftp.c:381,18'
          Dst:             next
        - Src:             'tftp.c:430,13'
          Dst:             __ctype_tolower_loc
        - Src:             'tftp.c:437,57'
          Dst:             strlen
        - Src:             'tftp.c:437,8'
          Dst:             strncat
        - Src:             'tftp.c:438,19'
          Dst:             strlen
        - Src:             'tftp.c:439,49'
          Dst:             strlen
        - Src:             'tftp.c:439,3'
          Dst:             strncat
        - Src:             'tftp.c:443,21'
          Dst:             strlen
        - Src:             'tftp.c:446,5'
          Dst:             strncat
        - Src:             'tftp.c:447,51'
          Dst:             strlen
        - Src:             'tftp.c:447,5'
          Dst:             strncat
        - Src:             'tftp.c:450,9'
          Dst:             stat64
        - Src:             'tftp.c:463,36'
          Dst:             lease_find_by_addr
        - Src:             'tftp.c:470,21'
          Dst:             find_mac
        - Src:             'tftp.c:475,25'
          Dst:             strlen
        - Src:             'tftp.c:478,9'
          Dst:             snprintf
        - Src:             'tftp.c:482,13'
          Dst:             stat64
        - Src:             'tftp.c:490,9'
          Dst:             strstr
        - Src:             'tftp.c:498,55'
          Dst:             strlen
        - Src:             'tftp.c:498,4'
          Dst:             strncat
        - Src:             'tftp.c:501,26'
          Dst:             check_tftp_fileperm
        - Src:             'tftp.c:508,19'
          Dst:             get_block
        - Src:             'tftp.c:509,9'
          Dst:             tftp_err_oops
        - Src:             'tftp.c:522,7'
          Dst:             send_from
        - Src:             'tftp.c:525,7'
          Dst:             dump_packet_udp
        - Src:             'tftp.c:530,5'
          Dst:             free_transfer
    - functionName:    __ctype_tolower_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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_tftp_listeners
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         77
      ICount:          410
      EdgeCount:       104
      CyclomaticComplexity: 29
      functionsReached:
        - difftime
        - dump_packet_udp
        - free_transfer
        - get_block
        - handle_tftp
        - my_syslog
        - poll_check
        - prettyprint_addr
        - recvfrom
        - retry_send
        - sa_len
        - sanitise
        - send_from
        - sendto
        - sockaddr_isequal
        - strcpy
        - tftp_err
        - tftp_err_oops
        - tftp_request
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:630,35'
          Dst:             poll_check
        - Src:             'tftp.c:631,7'
          Dst:             tftp_request
        - Src:             'tftp.c:636,11'
          Dst:             poll_check
        - Src:             'tftp.c:642,15'
          Dst:             recvfrom
        - Src:             'tftp.c:645,8'
          Dst:             dump_packet_udp
        - Src:             'tftp.c:648,12'
          Dst:             sockaddr_isequal
        - Src:             'tftp.c:649,3'
          Dst:             handle_tftp
        - Src:             'tftp.c:653,5'
          Dst:             prettyprint_addr
        - Src:             'tftp.c:654,11'
          Dst:             tftp_err
        - Src:             'tftp.c:655,73'
          Dst:             sa_len
        - Src:             'tftp.c:655,22'
          Dst:             sendto
        - Src:             'tftp.c:655,11'
          Dst:             retry_send
        - Src:             'tftp.c:658,5'
          Dst:             dump_packet_udp
        - Src:             'tftp.c:673,16'
          Dst:             difftime
        - Src:             'tftp.c:678,8'
          Dst:             get_block
        - Src:             'tftp.c:681,16'
          Dst:             difftime
        - Src:             'tftp.c:698,19'
          Dst:             get_block
        - Src:             'tftp.c:708,11'
          Dst:             tftp_err_oops
        - Src:             'tftp.c:712,8'
          Dst:             send_from
        - Src:             'tftp.c:715,8'
          Dst:             dump_packet_udp
        - Src:             'tftp.c:721,6'
          Dst:             get_block
        - Src:             'tftp.c:726,4'
          Dst:             strcpy
        - Src:             'tftp.c:727,4'
          Dst:             sanitise
        - Src:             'tftp.c:728,10'
          Dst:             prettyprint_addr
        - Src:             'tftp.c:732,6'
          Dst:             my_syslog
        - Src:             'tftp.c:734,6'
          Dst:             my_syslog
        - Src:             'tftp.c:730,6'
          Dst:             my_syslog
        - Src:             'tftp.c:739,6'
          Dst:             free_transfer
    - functionName:    kernel_version
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 936
      functionLinenumberEnd: 950
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          67
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - atoi
        - die
        - strtok
        - uname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:941,7'
          Dst:             uname
        - Src:             'util.c:942,5'
          Dst:             die
        - Src:             'util.c:944,11'
          Dst:             strtok
        - Src:             'util.c:945,22'
          Dst:             atoi
        - Src:             'util.c:946,11'
          Dst:             strtok
        - Src:             'util.c:947,38'
          Dst:             atoi
        - Src:             'util.c:948,11'
          Dst:             strtok
        - Src:             'util.c:949,35'
          Dst:             atoi
    - functionName:    uname
      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:    wildcard_matchn
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 917
      functionLinenumberEnd: 932
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          79
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    wildcard_match
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 899
      functionLinenumberEnd: 913
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          59
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    close_fds
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 819
      functionLinenumberEnd: 895
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - size_t
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          177
      EdgeCount:       65
      CyclomaticComplexity: 21
      functionsReached:
        - __errno_location
        - close
        - closedir
        - dirfd
        - opendir
        - readdir64
        - strtol
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:863,9'
          Dst:             opendir
        - Src:             'util.c:869,20'
          Dst:             readdir64
        - Src:             'util.c:874,4'
          Dst:             __errno_location
        - Src:             'util.c:875,9'
          Dst:             strtol
        - Src:             'util.c:877,46'
          Dst:             dirfd
        - Src:             'util.c:882,4'
          Dst:             close
        - Src:             'util.c:885,7'
          Dst:             closedir
        - Src:             'util.c:894,7'
          Dst:             close
    - functionName:    dirfd
      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:    retry_send
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 739
      functionLinenumberEnd: 770
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          66
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - nanosleep
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:746,7'
          Dst:             __errno_location
        - Src:             'util.c:755,7'
          Dst:             __errno_location
        - Src:             'util.c:759,8'
          Dst:             nanosleep
    - functionName:    print_mac
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 722
      functionLinenumberEnd: 732
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          52
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - sprintf
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:730,12'
          Dst:             sprintf
    - functionName:    expand_buf
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 719
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          47
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - whine_malloc
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:703,15'
          Dst:             whine_malloc
        - Src:             'util.c:705,7'
          Dst:             __errno_location
    - functionName:    whine_malloc
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - my_syslog
      functionUses:    66
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:346,15'
          Dst:             calloc
        - Src:             'util.c:349,5'
          Dst:             my_syslog
    - functionName:    memcmp_masked
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_hex
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 678
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          284
      EdgeCount:       85
      CyclomaticComplexity: 25
      functionsReached:
        - __ctype_b_loc
        - strchr
        - strcmp
        - strtol
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:624,20'
          Dst:             __ctype_b_loc
        - Src:             'util.c:635,20'
          Dst:             strtol
        - Src:             'util.c:641,12'
          Dst:             strcmp
        - Src:             'util.c:659,13'
          Dst:             strchr
        - Src:             'util.c:661,18'
          Dst:             strtol
    - functionName:    prettyprint_time
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 607
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          84
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - sprintf
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:599,7'
          Dst:             sprintf
        - Src:             'util.c:601,7'
          Dst:             sprintf
        - Src:             'util.c:603,7'
          Dst:             sprintf
        - Src:             'util.c:605,2'
          Dst:             sprintf
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    prettyprint_addr
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 566
      functionLinenumberEnd: 588
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - __bswap_16
        - if_indextoname
        - inet_ntop
        - strcat
        - strlen
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:571,7'
          Dst:             inet_ntop
        - Src:             'util.c:572,14'
          Dst:             __bswap_16
        - Src:             'util.c:577,7'
          Dst:             inet_ntop
        - Src:             'util.c:579,4'
          Dst:             if_indextoname
        - Src:             'util.c:580,4'
          Dst:             strlen
        - Src:             'util.c:580,18'
          Dst:             strlen
        - Src:             'util.c:582,4'
          Dst:             strlen
        - Src:             'util.c:583,4'
          Dst:             strcat
        - Src:             'util.c:585,14'
          Dst:             __bswap_16
    - functionName:    setaddr6part
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 561
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          35
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    addr6part
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 549
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          42
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    35
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_same_net6
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 526
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          50
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - memcmp
      functionUses:    39
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:530,7'
          Dst:             memcmp
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_same_net_prefix
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 516
      functionLinenumberEnd: 521
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
        - is_same_net
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:519,17'
          Dst:             __bswap_32
        - Src:             'util.c:521,10'
          Dst:             is_same_net
    - functionName:    is_same_net
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    32
      BranchProfiles:  []
      Callsites:       []
    - functionName:    netmask_length
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          34
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dnsmasq_milliseconds
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gettimeofday
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:492,3'
          Dst:             gettimeofday
    - functionName:    dnsmasq_time
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - time
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:484,10'
          Dst:             time
    - functionName:    hostname_issubdomain
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          112
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - strlen
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:443,3'
          Dst:             strlen
        - Src:             'util.c:444,3'
          Dst:             strlen
    - functionName:    hostname_isequal
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hostname_order
        - strlen
      functionUses:    48
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:433,10'
          Dst:             strlen
        - Src:             'util.c:433,23'
          Dst:             strlen
        - Src:             'util.c:433,36'
          Dst:             hostname_order
    - functionName:    hostname_order
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 409
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          78
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sa_len
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          17
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sockaddr_isnull
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          70
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sockaddr_isequal
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          121
      EdgeCount:       35
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    whine_realloc
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 361
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - my_syslog
        - realloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:356,15'
          Dst:             realloc
        - Src:             'util.c:359,5'
          Dst:             my_syslog
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    safe_pipe
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          51
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - die
        - fix_fd
        - pipe
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:338,7'
          Dst:             pipe
        - Src:             'util.c:339,8'
          Dst:             fix_fd
        - Src:             'util.c:340,25'
          Dst:             fix_fd
        - Src:             'util.c:341,5'
          Dst:             die
    - functionName:    safe_strncpy
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 334
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strncpy
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:332,7'
          Dst:             strncpy
    - functionName:    safe_malloc
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          22
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - calloc
        - die
      functionUses:    30
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:317,15'
          Dst:             calloc
        - Src:             'util.c:320,5'
          Dst:             die
    - functionName:    do_rfc1035_name
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 312
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          128
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    canonicalise
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          51
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - check_name
        - strcpy
        - strlen
        - whine_malloc
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:245,14'
          Dst:             check_name
        - Src:             'util.c:276,27'
          Dst:             strlen
        - Src:             'util.c:276,14'
          Dst:             whine_malloc
        - Src:             'util.c:277,5'
          Dst:             strcpy
    - functionName:    check_name
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          128
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached:
        - __ctype_b_loc
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:141,26'
          Dst:             strlen
        - Src:             'util.c:162,45'
          Dst:             __ctype_b_loc
    - functionName:    legal_hostname
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         47
      ICount:          171
      EdgeCount:       66
      CyclomaticComplexity: 21
      functionsReached:
        - check_name
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:213,8'
          Dst:             check_name
    - functionName:    rr_on_list
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rand64
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - surf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:113,7'
          Dst:             surf
    - functionName:    surf
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          176
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rand32
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          64
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - surf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:99,7'
          Dst:             surf
    - functionName:    rand16
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          65
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - surf
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:87,7'
          Dst:             surf
    - functionName:    read_write
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 781
      functionLinenumberEnd: 815
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          105
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - read
        - write
      functionUses:    46
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:787,6'
          Dst:             read
        - Src:             'util.c:789,6'
          Dst:             write
        - Src:             'util.c:798,8'
          Dst:             __errno_location
    - functionName:    rand_init
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          41
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - close
        - die
        - open64
        - read_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:50,12'
          Dst:             open64
        - Src:             'util.c:53,8'
          Dst:             read_write
        - Src:             'util.c:54,8'
          Dst:             read_write
        - Src:             'util.c:55,5'
          Dst:             die
        - Src:             'util.c:57,3'
          Dst:             close
    - functionName:    do_arp_script_run
      functionSourceFile: '/src/dnsmasq/src/arp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         19
      ICount:          97
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - queue_arp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'arp.c:211,2'
          Dst:             queue_arp
        - Src:             'arp.c:225,4'
          Dst:             queue_arp
    - functionName:    filter_mac
      functionSourceFile: '/src/dnsmasq/src/arp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          209
      EdgeCount:       60
      CyclomaticComplexity: 19
      functionsReached:
        - memcmp
        - whine_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'arp.c:71,40'
          Dst:             memcmp
        - Src:             'arp.c:88,24'
          Dst:             whine_malloc
    - functionName:    find_mac
      functionSourceFile: '/src/dnsmasq/src/arp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         72
      ICount:          312
      EdgeCount:       99
      CyclomaticComplexity: 29
      functionsReached:
        - difftime
        - filter_mac
        - iface_enumerate
        - whine_malloc
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'arp.c:115,7'
          Dst:             difftime
        - Src:             'arp.c:155,8'
          Dst:             iface_enumerate
        - Src:             'arp.c:155,8'
          Dst:             filter_mac
        - Src:             'arp.c:183,11'
          Dst:             whine_malloc
    - functionName:    find_exclude
      functionSourceFile: '/src/dnsmasq/src/auth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_addrlist
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'auth.c:57,10'
          Dst:             find_addrlist
    - functionName:    find_addrlist
      functionSourceFile: '/src/dnsmasq/src/auth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 22
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          73
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __bswap_32
        - is_same_net
        - is_same_net6
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'auth.c:31,19'
          Dst:             __bswap_32
        - Src:             'auth.c:33,7'
          Dst:             is_same_net
        - Src:             'auth.c:36,14'
          Dst:             is_same_net6
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    filter_zone
      functionSourceFile: '/src/dnsmasq/src/auth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          34
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - find_exclude
        - find_subnet
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'auth.c:62,7'
          Dst:             find_exclude
        - Src:             'auth.c:69,10'
          Dst:             find_subnet
    - functionName:    find_subnet
      functionSourceFile: '/src/dnsmasq/src/auth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_addrlist
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'auth.c:49,10'
          Dst:             find_addrlist
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    answer_auth
      functionSourceFile: '/src/dnsmasq/src/auth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 913
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         694
      ICount:          3380
      EdgeCount:       963
      CyclomaticComplexity: 271
      functionsReached:
        - __bswap_16
        - __bswap_32
        - add_resource_record
        - cache_enumerate
        - cache_find_by_addr
        - cache_find_by_name
        - cache_find_non_terminal
        - cache_get_name
        - extract_name
        - filter_zone
        - find_subnet
        - hostname_isequal
        - hostname_issubdomain
        - in_arpa_name_2_addr
        - in_zone
        - inet_ntop
        - is_name_synthetic
        - is_rev_synth
        - log_query
        - my_syslog
        - record_source
        - resize_packet
        - skip_questions
        - sockaddr_isequal
        - sprintf
        - strcat
        - strchr
        - strcmp
        - strcpy
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'auth.c:121,7'
          Dst:             __bswap_16
        - Src:             'auth.c:125,16'
          Dst:             skip_questions
        - Src:             'auth.c:142,12'
          Dst:             extract_name
        - Src:             'auth.c:156,12'
          Dst:             in_arpa_name_2_addr
        - Src:             'auth.c:156,12'
          Dst:             in_arpa_name_2_addr
        - Src:             'auth.c:160,20'
          Dst:             find_subnet
        - Src:             'auth.c:191,26'
          Dst:             strcmp
        - Src:             'auth.c:206,26'
          Dst:             strcmp
        - Src:             'auth.c:212,27'
          Dst:             in_zone
        - Src:             'auth.c:215,5'
          Dst:             log_query
        - Src:             'auth.c:216,9'
          Dst:             add_resource_record
        - Src:             'auth.c:223,17'
          Dst:             cache_find_by_addr
        - Src:             'auth.c:225,21'
          Dst:             cache_get_name
        - Src:             'auth.c:225,8'
          Dst:             strcpy
        - Src:             'auth.c:229,15'
          Dst:             strchr
        - Src:             'auth.c:236,9'
          Dst:             strlen
        - Src:             'auth.c:237,9'
          Dst:             strcat
        - Src:             'auth.c:239,67'
          Dst:             record_source
        - Src:             'auth.c:239,5'
          Dst:             log_query
        - Src:             'auth.c:241,9'
          Dst:             add_resource_record
        - Src:             'auth.c:246,70'
          Dst:             in_zone
        - Src:             'auth.c:248,69'
          Dst:             record_source
        - Src:             'auth.c:248,5'
          Dst:             log_query
        - Src:             'auth.c:250,9'
          Dst:             add_resource_record
        - Src:             'auth.c:258,24'
          Dst:             cache_find_by_addr
        - Src:             'auth.c:260,18'
          Dst:             is_rev_synth
        - Src:             'auth.c:260,69'
          Dst:             in_zone
        - Src:             'auth.c:262,8'
          Dst:             log_query
        - Src:             'auth.c:265,12'
          Dst:             add_resource_record
        - Src:             'auth.c:274,6'
          Dst:             log_query
        - Src:             'auth.c:286,10'
          Dst:             in_zone
        - Src:             'auth.c:298,27'
          Dst:             hostname_issubdomain
        - Src:             'auth.c:305,3'
          Dst:             log_query
        - Src:             'auth.c:306,7'
          Dst:             add_resource_record
        - Src:             'auth.c:313,26'
          Dst:             hostname_issubdomain
        - Src:             'auth.c:320,3'
          Dst:             log_query
        - Src:             'auth.c:321,7'
          Dst:             add_resource_record
        - Src:             'auth.c:348,12'
          Dst:             hostname_issubdomain
        - Src:             'auth.c:354,3'
          Dst:             log_query
        - Src:             'auth.c:355,7'
          Dst:             add_resource_record
        - Src:             'auth.c:362,34'
          Dst:             hostname_issubdomain
        - Src:             'auth.c:368,3'
          Dst:             log_query
        - Src:             'auth.c:369,7'
          Dst:             add_resource_record
        - Src:             'auth.c:376,13'
          Dst:             hostname_issubdomain
        - Src:             'auth.c:382,4'
          Dst:             log_query
        - Src:             'auth.c:383,8'
          Dst:             add_resource_record
        - Src:             'auth.c:397,13'
          Dst:             hostname_issubdomain
        - Src:             'auth.c:406,24'
          Dst:             filter_zone
        - Src:             'auth.c:412,8'
          Dst:             log_query
        - Src:             'auth.c:413,12'
          Dst:             add_resource_record
        - Src:             'auth.c:420,22'
          Dst:             is_name_synthetic
        - Src:             'auth.c:424,5'
          Dst:             log_query
        - Src:             'auth.c:425,9'
          Dst:             add_resource_record
        - Src:             'auth.c:437,8'
          Dst:             log_query
        - Src:             'auth.c:452,7'
          Dst:             sockaddr_isequal
        - Src:             'auth.c:473,8'
          Dst:             log_query
        - Src:             'auth.c:0,0'
          Dst:             inet_ntop
        - Src:             'auth.c:464,5'
          Dst:             my_syslog
        - Src:             'auth.c:479,8'
          Dst:             log_query
        - Src:             'auth.c:487,9'
          Dst:             strchr
        - Src:             'auth.c:487,39'
          Dst:             cache_find_by_name
        - Src:             'auth.c:494,20'
          Dst:             filter_zone
        - Src:             'auth.c:497,60'
          Dst:             record_source
        - Src:             'auth.c:497,4'
          Dst:             log_query
        - Src:             'auth.c:499,8'
          Dst:             add_resource_record
        - Src:             'auth.c:504,23'
          Dst:             cache_find_by_name
        - Src:             'auth.c:510,20'
          Dst:             cache_find_by_name
        - Src:             'auth.c:516,49'
          Dst:             filter_zone
        - Src:             'auth.c:518,79'
          Dst:             record_source
        - Src:             'auth.c:518,8'
          Dst:             log_query
        - Src:             'auth.c:519,12'
          Dst:             add_resource_record
        - Src:             'auth.c:524,26'
          Dst:             cache_find_by_name
        - Src:             'auth.c:541,18'
          Dst:             strchr
        - Src:             'auth.c:543,11'
          Dst:             hostname_isequal
        - Src:             'auth.c:545,8'
          Dst:             strlen
        - Src:             'auth.c:556,15'
          Dst:             hostname_isequal
        - Src:             'auth.c:556,51'
          Dst:             strlen
        - Src:             'auth.c:565,8'
          Dst:             log_query
        - Src:             'auth.c:566,8'
          Dst:             strcpy
        - Src:             'auth.c:567,13'
          Dst:             strchr
        - Src:             'auth.c:569,5'
          Dst:             strlen
        - Src:             'auth.c:570,5'
          Dst:             strcat
        - Src:             'auth.c:573,12'
          Dst:             add_resource_record
        - Src:             'auth.c:580,13'
          Dst:             cache_find_non_terminal
        - Src:             'auth.c:583,4'
          Dst:             log_query
        - Src:             'auth.c:606,22'
          Dst:             __bswap_32
        - Src:             'auth.c:610,8'
          Dst:             sprintf
        - Src:             'auth.c:613,8'
          Dst:             sprintf
        - Src:             'auth.c:615,8'
          Dst:             sprintf
        - Src:             'auth.c:626,10'
          Dst:             sprintf
        - Src:             'auth.c:636,4'
          Dst:             add_resource_record
        - Src:             'auth.c:658,12'
          Dst:             add_resource_record
        - Src:             'auth.c:658,12'
          Dst:             add_resource_record
        - Src:             'auth.c:672,12'
          Dst:             add_resource_record
        - Src:             'auth.c:685,10'
          Dst:             in_zone
        - Src:             'auth.c:692,11'
          Dst:             add_resource_record
        - Src:             'auth.c:700,11'
          Dst:             add_resource_record
        - Src:             'auth.c:711,10'
          Dst:             in_zone
        - Src:             'auth.c:716,7'
          Dst:             add_resource_record
        - Src:             'auth.c:726,32'
          Dst:             in_zone
        - Src:             'auth.c:731,7'
          Dst:             add_resource_record
        - Src:             'auth.c:741,10'
          Dst:             in_zone
        - Src:             'auth.c:746,7'
          Dst:             add_resource_record
        - Src:             'auth.c:757,10'
          Dst:             in_zone
        - Src:             'auth.c:766,25'
          Dst:             filter_zone
        - Src:             'auth.c:767,9'
          Dst:             add_resource_record
        - Src:             'auth.c:773,25'
          Dst:             filter_zone
        - Src:             'auth.c:774,9'
          Dst:             add_resource_record
        - Src:             'auth.c:784,10'
          Dst:             in_zone
        - Src:             'auth.c:786,3'
          Dst:             strcpy
        - Src:             'auth.c:787,8'
          Dst:             strchr
        - Src:             'auth.c:789,7'
          Dst:             strlen
        - Src:             'auth.c:790,7'
          Dst:             strcat
        - Src:             'auth.c:796,7'
          Dst:             add_resource_record
        - Src:             'auth.c:802,4'
          Dst:             cache_enumerate
        - Src:             'auth.c:803,20'
          Dst:             cache_enumerate
        - Src:             'auth.c:811,28'
          Dst:             cache_get_name
        - Src:             'auth.c:812,14'
          Dst:             strchr
        - Src:             'auth.c:813,22'
          Dst:             filter_zone
        - Src:             'auth.c:814,6'
          Dst:             add_resource_record
        - Src:             'auth.c:822,22'
          Dst:             cache_get_name
        - Src:             'auth.c:822,9'
          Dst:             strcpy
        - Src:             'auth.c:823,13'
          Dst:             in_zone
        - Src:             'auth.c:824,22'
          Dst:             filter_zone
        - Src:             'auth.c:829,10'
          Dst:             add_resource_record
        - Src:             'auth.c:839,8'
          Dst:             add_resource_record
        - Src:             'auth.c:877,20'
          Dst:             skip_questions
        - Src:             'auth.c:880,7'
          Dst:             log_query
        - Src:             'auth.c:888,21'
          Dst:             __bswap_16
        - Src:             'auth.c:889,21'
          Dst:             __bswap_16
        - Src:             'auth.c:890,21'
          Dst:             __bswap_16
        - Src:             'auth.c:908,7'
          Dst:             log_query
        - Src:             'auth.c:909,14'
          Dst:             resize_packet
    - functionName:    in_zone
      functionSourceFile: '/src/dnsmasq/src/auth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          70
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - hostname_isequal
        - strlen
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'auth.c:74,20'
          Dst:             strlen
        - Src:             'auth.c:75,22'
          Dst:             strlen
        - Src:             'auth.c:81,7'
          Dst:             hostname_isequal
    - functionName:    blockdata_read
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - blockdata_alloc_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:238,10'
          Dst:             blockdata_alloc_real
    - functionName:    blockdata_alloc_real
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          88
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - blockdata_free
        - new_block
        - read_write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:90,21'
          Dst:             new_block
        - Src:             'blockdata.c:93,4'
          Dst:             blockdata_free
        - Src:             'blockdata.c:104,14'
          Dst:             read_write
        - Src:             'blockdata.c:107,8'
          Dst:             blockdata_free
    - functionName:    new_block
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          52
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - add_blocks
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:66,5'
          Dst:             add_blocks
    - functionName:    blockdata_free
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          41
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_blocks
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          104
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - whine_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:24,27'
          Dst:             whine_malloc
    - functionName:    blockdata_write
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          53
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - read_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:231,7'
          Dst:             read_write
    - functionName:    blockdata_retrieve
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          91
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - whine_malloc
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:205,16'
          Dst:             whine_malloc
    - functionName:    blockdata_expand
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          129
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - blockdata_free
        - new_block
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:161,18'
          Dst:             new_block
        - Src:             'blockdata.c:161,18'
          Dst:             new_block
        - Src:             'blockdata.c:0,0'
          Dst:             blockdata_free
    - functionName:    blockdata_alloc
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - blockdata_alloc_real
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:122,10'
          Dst:             blockdata_alloc_real
    - functionName:    blockdata_report
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - my_syslog
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:55,3'
          Dst:             my_syslog
    - functionName:    blockdata_init
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - add_blocks
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:50,5'
          Dst:             add_blocks
    - functionName:    edestr
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2213
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          19
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sanitise
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1945
      functionLinenumberEnd: 1966
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          83
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - __ctype_b_loc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:0,0'
          Dst:             __ctype_b_loc
    - functionName:    querystr
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2158
      functionLinenumberEnd: 2209
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          168
      EdgeCount:       53
      CyclomaticComplexity: 16
      functionsReached:
        - sprintf
        - strlen
        - whine_malloc
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:2169,8'
          Dst:             strlen
        - Src:             'cache.c:2176,15'
          Dst:             strlen
        - Src:             'cache.c:2187,14'
          Dst:             whine_malloc
        - Src:             'cache.c:2196,6'
          Dst:             sprintf
        - Src:             'cache.c:2198,6'
          Dst:             sprintf
        - Src:             'cache.c:2203,6'
          Dst:             sprintf
        - Src:             'cache.c:2205,6'
          Dst:             sprintf
    - functionName:    dump_cache_entry
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1969
      functionLinenumberEnd: 2061
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         54
      ICount:          285
      EdgeCount:       75
      CyclomaticComplexity: 23
      functionsReached:
        - cache_get_cname_target
        - cache_get_name
        - ctime
        - inet_ntop
        - is_outdated_cname_pointer
        - my_syslog
        - querystr
        - record_source
        - sanitise
        - sprintf
        - strcpy
        - whine_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1974,36'
          Dst:             cache_get_name
        - Src:             'cache.c:1977,25'
          Dst:             whine_malloc
        - Src:             'cache.c:1995,32'
          Dst:             sanitise
        - Src:             'cache.c:1995,8'
          Dst:             sprintf
        - Src:             'cache.c:1996,36'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:1997,18'
          Dst:             cache_get_cname_target
        - Src:             'cache.c:1997,9'
          Dst:             sanitise
        - Src:             'cache.c:2001,19'
          Dst:             querystr
        - Src:             'cache.c:2001,2'
          Dst:             strcpy
        - Src:             'cache.c:2003,19'
          Dst:             querystr
        - Src:             'cache.c:2003,2'
          Dst:             strcpy
        - Src:             'cache.c:2020,2'
          Dst:             inet_ntop
        - Src:             'cache.c:2022,2'
          Dst:             inet_ntop
        - Src:             'cache.c:2042,8'
          Dst:             sprintf
        - Src:             'cache.c:2055,64'
          Dst:             ctime
        - Src:             'cache.c:2055,8'
          Dst:             sprintf
        - Src:             'cache.c:2058,34'
          Dst:             record_source
        - Src:             'cache.c:2058,10'
          Dst:             sprintf
        - Src:             'cache.c:2060,3'
          Dst:             my_syslog
    - functionName:    cache_get_name
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    23
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_outdated_cname_pointer
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 392
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          58
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cache_get_cname_target
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 359
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cache_get_name
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:363,12'
          Dst:             cache_get_name
    - functionName:    record_source
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2131
      functionLinenumberEnd: 2155
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          81
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dump_cache
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2064
      functionLinenumberEnd: 2128
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         43
      ICount:          257
      EdgeCount:       57
      CyclomaticComplexity: 16
      functionsReached:
        - blockdata_report
        - dump_cache_entry
        - my_syslog
        - prettyprint_addr
        - sockaddr_isequal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:2067,3'
          Dst:             my_syslog
        - Src:             'cache.c:2068,3'
          Dst:             my_syslog
        - Src:             'cache.c:2070,3'
          Dst:             my_syslog
        - Src:             'cache.c:2073,5'
          Dst:             my_syslog
        - Src:             'cache.c:2075,3'
          Dst:             my_syslog
        - Src:             'cache.c:2083,3'
          Dst:             blockdata_report
        - Src:             'cache.c:2084,3'
          Dst:             my_syslog
        - Src:             'cache.c:2102,39'
          Dst:             sockaddr_isequal
        - Src:             'cache.c:2112,9'
          Dst:             prettyprint_addr
        - Src:             'cache.c:2113,2'
          Dst:             my_syslog
        - Src:             'cache.c:2121,7'
          Dst:             my_syslog
        - Src:             'cache.c:2122,7'
          Dst:             my_syslog
        - Src:             'cache.c:2126,4'
          Dst:             dump_cache_entry
    - functionName:    cache_make_stat
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1847
      functionLinenumberEnd: 1936
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         43
      ICount:          275
      EdgeCount:       53
      CyclomaticComplexity: 12
      functionsReached:
        - prettyprint_addr
        - snprintf
        - sockaddr_isequal
        - sprintf
        - strlen
        - whine_malloc
        - whine_realloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'cache.c:1859,3'
          Branch Sides:    []
      Callsites:
        - Src:             'cache.c:1854,25'
          Dst:             whine_malloc
        - Src:             'cache.c:1862,7'
          Dst:             sprintf
        - Src:             'cache.c:1866,7'
          Dst:             sprintf
        - Src:             'cache.c:1870,7'
          Dst:             sprintf
        - Src:             'cache.c:1874,7'
          Dst:             sprintf
        - Src:             'cache.c:1878,7'
          Dst:             sprintf
        - Src:             'cache.c:1883,7'
          Dst:             sprintf
        - Src:             'cache.c:1899,43'
          Dst:             sockaddr_isequal
        - Src:             'cache.c:1905,13'
          Dst:             prettyprint_addr
        - Src:             'cache.c:1908,21'
          Dst:             snprintf
        - Src:             'cache.c:1913,15'
          Dst:             whine_realloc
        - Src:             'cache.c:1920,18'
          Dst:             snprintf
        - Src:             'cache.c:1931,9'
          Dst:             strlen
    - functionName:    cache_scan_free
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 576
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          357
      EdgeCount:       113
      CyclomaticComplexity: 33
      functionsReached:
        - cache_free
        - cache_get_name
        - cache_unlink
        - hash_bucket
        - hostname_isequal
        - is_expired
        - is_outdated_cname_pointer
        - memcmp
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:479,17'
          Dst:             hash_bucket
        - Src:             'cache.c:481,55'
          Dst:             cache_get_name
        - Src:             'cache.c:481,38'
          Dst:             hostname_isequal
        - Src:             'cache.c:511,5'
          Dst:             cache_unlink
        - Src:             'cache.c:512,5'
          Dst:             cache_free
        - Src:             'cache.c:530,8'
          Dst:             is_expired
        - Src:             'cache.c:530,34'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:535,5'
          Dst:             cache_unlink
        - Src:             'cache.c:536,5'
          Dst:             cache_free
        - Src:             'cache.c:553,8'
          Dst:             is_expired
        - Src:             'cache.c:558,5'
          Dst:             cache_unlink
        - Src:             'cache.c:559,5'
          Dst:             cache_free
        - Src:             'cache.c:565,14'
          Dst:             memcmp
        - Src:             'cache.c:568,8'
          Dst:             cache_unlink
        - Src:             'cache.c:569,8'
          Dst:             cache_free
    - functionName:    hash_bucket
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          67
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cache_unlink
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          32
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cache_free
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 320
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cache_blockdata_free
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:319,3'
          Dst:             cache_blockdata_free
    - functionName:    is_expired
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 428
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          80
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - difftime
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:417,8'
          Dst:             difftime
        - Src:             'cache.c:424,7'
          Dst:             difftime
    - functionName:    cache_blockdata_free
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          44
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - blockdata_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:287,2'
          Dst:             blockdata_free
    - functionName:    cache_add_dhcp_entry
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1667
      functionLinenumberEnd: 1748
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          205
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - cache_find_by_addr
        - cache_find_by_name
        - cache_hash
        - cache_scan_free
        - inet_ntop
        - make_non_terminals
        - memcmp
        - my_syslog
        - record_source
        - whine_malloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1679,3'
          Dst:             inet_ntop
        - Src:             'cache.c:1681,18'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1687,6'
          Dst:             my_syslog
        - Src:             'cache.c:1690,13'
          Dst:             memcmp
        - Src:             'cache.c:1697,4'
          Dst:             cache_scan_free
        - Src:             'cache.c:1681,18'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1710,7'
          Dst:             inet_ntop
        - Src:             'cache.c:1715,3'
          Dst:             record_source
        - Src:             'cache.c:1711,7'
          Dst:             my_syslog
        - Src:             'cache.c:1719,15'
          Dst:             cache_find_by_addr
        - Src:             'cache.c:1724,4'
          Dst:             cache_scan_free
        - Src:             'cache.c:1733,12'
          Dst:             whine_malloc
        - Src:             'cache.c:1745,7'
          Dst:             cache_hash
        - Src:             'cache.c:1746,7'
          Dst:             make_non_terminals
    - functionName:    cache_find_by_name
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1099
      functionLinenumberEnd: 1183
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          222
      EdgeCount:       65
      CyclomaticComplexity: 20
      functionsReached:
        - cache_free
        - cache_get_name
        - cache_link
        - cache_unlink
        - hash_bucket
        - hostname_isequal
        - is_expired
        - is_outdated_cname_pointer
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1114,17'
          Dst:             hash_bucket
        - Src:             'cache.c:1118,9'
          Dst:             is_expired
        - Src:             'cache.c:1118,36'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:1122,22'
          Dst:             cache_get_name
        - Src:             'cache.c:1122,5'
          Dst:             hostname_isequal
        - Src:             'cache.c:1131,9'
          Dst:             cache_unlink
        - Src:             'cache.c:1132,9'
          Dst:             cache_link
        - Src:             'cache.c:1167,5'
          Dst:             cache_unlink
        - Src:             'cache.c:1168,5'
          Dst:             cache_free
        - Src:             'cache.c:1179,24'
          Dst:             cache_get_name
        - Src:             'cache.c:1179,7'
          Dst:             hostname_isequal
    - functionName:    cache_find_by_addr
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1187
      functionLinenumberEnd: 1244
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          192
      EdgeCount:       58
      CyclomaticComplexity: 17
      functionsReached:
        - cache_free
        - cache_link
        - cache_unlink
        - is_expired
        - memcmp
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1206,10'
          Dst:             is_expired
        - Src:             'cache.c:1209,6'
          Dst:             memcmp
        - Src:             'cache.c:1218,10'
          Dst:             cache_unlink
        - Src:             'cache.c:1219,10'
          Dst:             cache_link
        - Src:             'cache.c:1229,6'
          Dst:             cache_unlink
        - Src:             'cache.c:1230,6'
          Dst:             cache_free
        - Src:             'cache.c:1240,7'
          Dst:             memcmp
    - functionName:    cache_hash
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         38
      ICount:          173
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - cache_get_name
        - hash_bucket
        - hostname_isequal
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:257,16'
          Dst:             cache_get_name
        - Src:             'cache.c:258,22'
          Dst:             hash_bucket
        - Src:             'cache.c:274,20'
          Dst:             cache_get_name
        - Src:             'cache.c:274,3'
          Dst:             hostname_isequal
    - functionName:    make_non_terminals
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1757
      functionLinenumberEnd: 1843
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         61
      ICount:          274
      EdgeCount:       84
      CyclomaticComplexity: 25
      functionsReached:
        - cache_get_name
        - cache_hash
        - difftime
        - hash_bucket
        - hostname_isequal
        - is_outdated_cname_pointer
        - strchr
        - whine_malloc
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1758,16'
          Dst:             cache_get_name
        - Src:             'cache.c:1771,13'
          Dst:             hash_bucket
        - Src:             'cache.c:1775,12'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:1779,27'
          Dst:             cache_get_name
        - Src:             'cache.c:1779,4'
          Dst:             hostname_isequal
        - Src:             'cache.c:1797,18'
          Dst:             strchr
        - Src:             'cache.c:1802,21'
          Dst:             hash_bucket
        - Src:             'cache.c:1803,7'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:1806,29'
          Dst:             cache_get_name
        - Src:             'cache.c:1806,6'
          Dst:             hostname_isequal
        - Src:             'cache.c:1817,17'
          Dst:             difftime
        - Src:             'cache.c:1831,10'
          Dst:             whine_malloc
        - Src:             'cache.c:1840,4'
          Dst:             cache_hash
    - functionName:    cache_link
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cache_unhash_dhcp
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1649
      functionLinenumberEnd: 1663
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         16
      ICount:          72
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    a_record_from_hosts
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1632
      functionLinenumberEnd: 1646
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          48
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - cache_find_by_name
        - my_syslog
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1638,21'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1642,3'
          Dst:             my_syslog
    - functionName:    cache_reload
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1462
      functionLinenumberEnd: 1628
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         102
      ICount:          540
      EdgeCount:       137
      CyclomaticComplexity: 37
      functionsReached:
        - add_hosts_entry
        - cache_blockdata_free
        - cache_hash
        - expand_filelist
        - make_non_terminals
        - my_syslog
        - read_hostsfile
        - set_dynamic_inotify
        - whine_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1485,2'
          Dst:             cache_blockdata_free
        - Src:             'cache.c:1510,12'
          Dst:             whine_malloc
        - Src:             'cache.c:1518,2'
          Dst:             cache_hash
        - Src:             'cache.c:1519,2'
          Dst:             make_non_terminals
        - Src:             'cache.c:1557,15'
          Dst:             whine_malloc
        - Src:             'cache.c:1562,6'
          Dst:             add_hosts_entry
        - Src:             'cache.c:1566,15'
          Dst:             whine_malloc
        - Src:             'cache.c:1571,6'
          Dst:             add_hosts_entry
        - Src:             'cache.c:1578,2'
          Dst:             my_syslog
        - Src:             'cache.c:1583,15'
          Dst:             read_hostsfile
        - Src:             'cache.c:1585,28'
          Dst:             expand_filelist
        - Src:             'cache.c:1588,17'
          Dst:             read_hostsfile
        - Src:             'cache.c:1597,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1603,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1609,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1615,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1621,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1625,3'
          Dst:             set_dynamic_inotify
    - functionName:    add_hosts_entry
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1248
      functionLinenumberEnd: 1310
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          197
      EdgeCount:       52
      CyclomaticComplexity: 15
      functionsReached:
        - cache_find_by_addr
        - cache_find_by_name
        - cache_get_name
        - cache_hash
        - make_non_terminals
        - memcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1254,47'
          Dst:             cache_get_name
        - Src:             'cache.c:1254,20'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1255,38'
          Dst:             memcmp
        - Src:             'cache.c:1254,47'
          Dst:             cache_get_name
        - Src:             'cache.c:1254,20'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1285,6'
          Dst:             memcmp
        - Src:             'cache.c:1301,16'
          Dst:             cache_find_by_addr
        - Src:             'cache.c:1308,3'
          Dst:             cache_hash
        - Src:             'cache.c:1309,3'
          Dst:             make_non_terminals
    - functionName:    read_hostsfile
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1360
      functionLinenumberEnd: 1459
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         59
      ICount:          289
      EdgeCount:       80
      CyclomaticComplexity: 23
      functionsReached:
        - __errno_location
        - add_hosts_entry
        - canonicalise
        - eatspace
        - fclose
        - fopen64
        - get_domain
        - get_domain6
        - gettok
        - inet_pton
        - my_syslog
        - rehash
        - strcat
        - strchr
        - strcpy
        - strerror
        - strlen
        - whine_malloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1361,13'
          Dst:             fopen64
        - Src:             'cache.c:1370,84'
          Dst:             __errno_location
        - Src:             'cache.c:1370,75'
          Dst:             strerror
        - Src:             'cache.c:1370,7'
          Dst:             my_syslog
        - Src:             'cache.c:1374,13'
          Dst:             eatspace
        - Src:             'cache.c:1376,18'
          Dst:             gettok
        - Src:             'cache.c:1378,11'
          Dst:             inet_pton
        - Src:             'cache.c:1382,20'
          Dst:             get_domain
        - Src:             'cache.c:1384,16'
          Dst:             inet_pton
        - Src:             'cache.c:1388,20'
          Dst:             get_domain6
        - Src:             'cache.c:1392,4'
          Dst:             my_syslog
        - Src:             'cache.c:1394,13'
          Dst:             gettok
        - Src:             'cache.c:1376,18'
          Dst:             gettok
        - Src:             'cache.c:1402,4'
          Dst:             rehash
        - Src:             'cache.c:1412,16'
          Dst:             gettok
        - Src:             'cache.c:1415,13'
          Dst:             strchr
        - Src:             'cache.c:1417,17'
          Dst:             canonicalise
        - Src:             'cache.c:1421,46'
          Dst:             strlen
        - Src:             'cache.c:1421,66'
          Dst:             strlen
        - Src:             'cache.c:1421,14'
          Dst:             whine_malloc
        - Src:             'cache.c:1423,5'
          Dst:             strcpy
        - Src:             'cache.c:1424,5'
          Dst:             strlen
        - Src:             'cache.c:1425,5'
          Dst:             strcat
        - Src:             'cache.c:1428,5'
          Dst:             add_hosts_entry
        - Src:             'cache.c:1432,53'
          Dst:             strlen
        - Src:             'cache.c:1432,21'
          Dst:             whine_malloc
        - Src:             'cache.c:1434,5'
          Dst:             strcpy
        - Src:             'cache.c:1437,5'
          Dst:             add_hosts_entry
        - Src:             'cache.c:1445,6'
          Dst:             my_syslog
        - Src:             'cache.c:1376,18'
          Dst:             gettok
        - Src:             'cache.c:1451,3'
          Dst:             fclose
        - Src:             'cache.c:1454,5'
          Dst:             rehash
        - Src:             'cache.c:1456,3'
          Dst:             my_syslog
    - functionName:    eatspace
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1313
      functionLinenumberEnd: 1334
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          76
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __ctype_b_loc
        - getc
        - ungetc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1318,16'
          Dst:             getc
        - Src:             'cache.c:1320,8'
          Dst:             getc
        - Src:             'cache.c:1325,12'
          Dst:             __ctype_b_loc
        - Src:             'cache.c:1327,4'
          Dst:             ungetc
    - functionName:    gettok
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1337
      functionLinenumberEnd: 1357
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          67
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __ctype_b_loc
        - eatspace
        - getc
        - ungetc
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1342,16'
          Dst:             getc
        - Src:             'cache.c:1345,11'
          Dst:             __ctype_b_loc
        - Src:             'cache.c:1347,4'
          Dst:             ungetc
        - Src:             'cache.c:1348,11'
          Dst:             eatspace
    - functionName:    rehash
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         31
      ICount:          123
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - cache_hash
        - safe_malloc
        - whine_malloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:209,11'
          Dst:             safe_malloc
        - Src:             'cache.c:210,45'
          Dst:             whine_malloc
        - Src:             'cache.c:227,6'
          Dst:             cache_hash
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ungetc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cache_find_non_terminal
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1084
      functionLinenumberEnd: 1096
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          81
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - cache_get_name
        - hash_bucket
        - hostname_isequal
        - is_expired
        - is_outdated_cname_pointer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1087,17'
          Dst:             hash_bucket
        - Src:             'cache.c:1088,10'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:1089,3'
          Dst:             is_expired
        - Src:             'cache.c:1092,25'
          Dst:             cache_get_name
        - Src:             'cache.c:1092,2'
          Dst:             hostname_isequal
    - functionName:    log_query
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2251
      functionLinenumberEnd: 2436
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         115
      ICount:          556
      EdgeCount:       164
      CyclomaticComplexity: 51
      functionsReached:
        - edestr
        - inet_ntop
        - my_syslog
        - prettyprint_addr
        - querystr
        - sanitise
        - sprintf
      functionUses:    67
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:2268,11'
          Dst:             querystr
        - Src:             'cache.c:2277,10'
          Dst:             sanitise
        - Src:             'cache.c:2286,14'
          Dst:             querystr
        - Src:             'cache.c:2288,14'
          Dst:             querystr
        - Src:             'cache.c:2291,2'
          Dst:             sprintf
        - Src:             'cache.c:2305,6'
          Dst:             sprintf
        - Src:             'cache.c:2310,37'
          Dst:             edestr
        - Src:             'cache.c:2310,8'
          Dst:             sprintf
        - Src:             'cache.c:2315,4'
          Dst:             inet_ntop
        - Src:             'cache.c:2320,8'
          Dst:             sprintf
        - Src:             'cache.c:2369,33'
          Dst:             edestr
        - Src:             'cache.c:2369,4'
          Dst:             sprintf
        - Src:             'cache.c:2400,4'
          Dst:             sprintf
        - Src:             'cache.c:2405,11'
          Dst:             querystr
        - Src:             'cache.c:2427,2'
          Dst:             my_syslog
        - Src:             'cache.c:2430,16'
          Dst:             prettyprint_addr
        - Src:             'cache.c:2431,5'
          Dst:             my_syslog
        - Src:             'cache.c:2435,5'
          Dst:             my_syslog
    - functionName:    cache_recv_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 887
      functionLinenumberEnd: 1081
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         62
      ICount:          308
      EdgeCount:       83
      CyclomaticComplexity: 23
      functionsReached:
        - add_to_ipset
        - blockdata_free
        - blockdata_read
        - cache_end_insert
        - cache_start_insert
        - difftime
        - log_query
        - next_uid
        - read_write
        - really_insert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'cache.c:893,3'
          Branch Sides:    []
      Callsites:
        - Src:             'cache.c:890,8'
          Dst:             read_write
        - Src:             'cache.c:905,2'
          Dst:             cache_start_insert
        - Src:             'cache.c:913,11'
          Dst:             read_write
        - Src:             'cache.c:918,3'
          Dst:             cache_end_insert
        - Src:             'cache.c:922,11'
          Dst:             read_write
        - Src:             'cache.c:923,4'
          Dst:             read_write
        - Src:             'cache.c:924,4'
          Dst:             read_write
        - Src:             'cache.c:925,4'
          Dst:             read_write
        - Src:             'cache.c:0,0'
          Dst:             difftime
        - Src:             'cache.c:934,23'
          Dst:             really_insert
        - Src:             'cache.c:945,4'
          Dst:             next_uid
        - Src:             'cache.c:957,42'
          Dst:             blockdata_read
        - Src:             'cache.c:0,0'
          Dst:             difftime
        - Src:             'cache.c:975,17'
          Dst:             really_insert
        - Src:             'cache.c:976,5'
          Dst:             blockdata_free
        - Src:             'cache.c:1051,7'
          Dst:             read_write
        - Src:             'cache.c:1052,7'
          Dst:             read_write
        - Src:             'cache.c:1053,7'
          Dst:             read_write
        - Src:             'cache.c:1062,13'
          Dst:             add_to_ipset
        - Src:             'cache.c:1071,8'
          Dst:             log_query
    - functionName:    cache_start_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          35
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cache_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:594,7'
          Dst:             cache_free
    - functionName:    cache_end_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 781
      functionLinenumberEnd: 853
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         29
      ICount:          177
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - blockdata_write
        - cache_free
        - cache_get_name
        - cache_hash
        - cache_link
        - is_outdated_cname_pointer
        - read_write
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:789,7'
          Dst:             read_write
        - Src:             'cache.c:796,11'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:797,2'
          Dst:             cache_free
        - Src:             'cache.c:800,4'
          Dst:             cache_hash
        - Src:             'cache.c:801,4'
          Dst:             cache_link
        - Src:             'cache.c:808,21'
          Dst:             cache_get_name
        - Src:             'cache.c:809,20'
          Dst:             strlen
        - Src:             'cache.c:815,8'
          Dst:             read_write
        - Src:             'cache.c:816,8'
          Dst:             read_write
        - Src:             'cache.c:817,8'
          Dst:             read_write
        - Src:             'cache.c:818,8'
          Dst:             read_write
        - Src:             'cache.c:819,8'
          Dst:             read_write
        - Src:             'cache.c:825,7'
          Dst:             blockdata_write
        - Src:             'cache.c:851,7'
          Dst:             read_write
    - functionName:    really_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 777
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         87
      ICount:          388
      EdgeCount:       121
      CyclomaticComplexity: 36
      functionsReached:
        - cache_get_name
        - cache_scan_free
        - cache_unlink
        - difftime
        - dump_cache_entry
        - my_syslog
        - strcpy
        - strlen
        - whine_malloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:652,14'
          Dst:             cache_scan_free
        - Src:             'cache.c:696,4'
          Dst:             my_syslog
        - Src:             'cache.c:698,4'
          Dst:             dump_cache_entry
        - Src:             'cache.c:709,8'
          Dst:             difftime
        - Src:             'cache.c:712,20'
          Dst:             cache_get_name
        - Src:             'cache.c:712,4'
          Dst:             cache_scan_free
        - Src:             'cache.c:716,4'
          Dst:             cache_scan_free
        - Src:             'cache.c:723,16'
          Dst:             strlen
        - Src:             'cache.c:731,39'
          Dst:             whine_malloc
        - Src:             'cache.c:750,3'
          Dst:             cache_unlink
        - Src:             'cache.c:760,12'
          Dst:             cache_get_name
        - Src:             'cache.c:760,5'
          Dst:             strcpy
        - Src:             'cache.c:762,6'
          Dst:             cache_get_name
    - functionName:    next_uid
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          30
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cache_send_ipset
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 876
      functionLinenumberEnd: 881
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - char
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - read_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:877,3'
          Dst:             read_write
        - Src:             'cache.c:878,3'
          Dst:             read_write
        - Src:             'cache.c:879,3'
          Dst:             read_write
        - Src:             'cache.c:880,3'
          Dst:             read_write
    - functionName:    cache_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - size_t
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          55
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - really_insert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:626,10'
          Dst:             really_insert
    - functionName:    cache_remove_uid
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          92
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cache_enumerate
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          67
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cache_init
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - cache_link
        - rehash
        - safe_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:181,15'
          Dst:             safe_malloc
        - Src:             'cache.c:185,4'
          Dst:             cache_link
        - Src:             'cache.c:192,3'
          Dst:             rehash
    - functionName:    rrtype
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          38
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:150,9'
          Dst:             strcasecmp
    - functionName:    is_config_in_context
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         36
      ICount:          150
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached:
        - is_same_net
        - is_same_net6
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:354,13'
          Dst:             is_same_net6
        - Src:             'dhcp-common.c:362,39'
          Dst:             is_same_net
    - functionName:    log_relay
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1044
      functionLinenumberEnd: 1077
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          173
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - inet_ntop
        - inet_pton
        - my_syslog
        - sprintf
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:1046,3'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:1047,3'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:1050,32'
          Dst:             strlen
        - Src:             'dhcp-common.c:1050,5'
          Dst:             sprintf
        - Src:             'dhcp-common.c:1055,3'
          Dst:             inet_pton
        - Src:             'dhcp-common.c:1055,3'
          Dst:             inet_pton
        - Src:             'dhcp-common.c:1061,29'
          Dst:             strlen
        - Src:             'dhcp-common.c:1061,2'
          Dst:             sprintf
        - Src:             'dhcp-common.c:1069,2'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1071,2'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1073,2'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1076,5'
          Dst:             my_syslog
    - functionName:    log_context
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 950
      functionLinenumberEnd: 1041
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         61
      ICount:          343
      EdgeCount:       83
      CyclomaticComplexity: 24
      functionsReached:
        - indextoname
        - inet_ntop
        - my_syslog
        - prettyprint_time
        - setaddr6part
        - sprintf
        - strcpy
        - strlen
        - strncpy
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:964,2'
          Dst:             setaddr6part
        - Src:             'dhcp-common.c:965,7'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:976,7'
          Dst:             prettyprint_time
        - Src:             'dhcp-common.c:977,12'
          Dst:             strlen
        - Src:             'dhcp-common.c:988,11'
          Dst:             indextoname
        - Src:             'dhcp-common.c:989,2'
          Dst:             sprintf
        - Src:             'dhcp-common.c:996,7'
          Dst:             sprintf
        - Src:             'dhcp-common.c:1007,6'
          Dst:             strncpy
        - Src:             'dhcp-common.c:1009,6'
          Dst:             strcpy
        - Src:             'dhcp-common.c:1013,2'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:1014,7'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:1015,7'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1030,7'
          Dst:             strcpy
        - Src:             'dhcp-common.c:1035,5'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1038,5'
          Dst:             my_syslog
    - functionName:    option_string
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 826
      functionLinenumberEnd: 945
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         124
      ICount:          613
      EdgeCount:       171
      CyclomaticComplexity: 49
      functionsReached:
        - __ctype_b_loc
        - inet_ntop
        - prettyprint_time
        - print_mac
        - sprintf
        - strlen
        - strncat
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:857,7'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:858,48'
          Dst:             strlen
        - Src:             'dhcp-common.c:858,7'
          Dst:             strncat
        - Src:             'dhcp-common.c:854,38'
          Dst:             strlen
        - Src:             'dhcp-common.c:854,9'
          Dst:             strncat
        - Src:             'dhcp-common.c:857,7'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:858,48'
          Dst:             strlen
        - Src:             'dhcp-common.c:858,7'
          Dst:             strncat
        - Src:             'dhcp-common.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'dhcp-common.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'dhcp-common.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'dhcp-common.c:920,5'
          Dst:             prettyprint_time
        - Src:             'dhcp-common.c:922,5'
          Dst:             sprintf
        - Src:             'dhcp-common.c:938,7'
          Dst:             print_mac
        - Src:             'dhcp-common.c:938,7'
          Dst:             print_mac
        - Src:             'dhcp-common.c:940,32'
          Dst:             strlen
        - Src:             'dhcp-common.c:940,2'
          Dst:             strncat
    - functionName:    lookup_dhcp_len
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 805
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lookup_dhcp_opt
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 784
      functionLinenumberEnd: 802
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          58
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strcasecmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:798,9'
          Dst:             strcasecmp
    - functionName:    display_opts6
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 773
      functionLinenumberEnd: 780
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - printf
        - puts
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:775,3'
          Dst:             puts
        - Src:             'dhcp-common.c:779,7'
          Dst:             printf
    - functionName:    display_opts
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 769
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - printf
        - puts
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:764,3'
          Dst:             puts
        - Src:             'dhcp-common.c:768,7'
          Dst:             printf
    - functionName:    bindtodevice
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 601
      functionLinenumberEnd: 611
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          49
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - setsockopt
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:602,16'
          Dst:             strlen
        - Src:             'dhcp-common.c:606,7'
          Dst:             setsockopt
        - Src:             'dhcp-common.c:607,7'
          Dst:             __errno_location
    - functionName:    bind_dhcp_devices
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 634
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          97
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - bindtodevice
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:622,13'
          Dst:             bindtodevice
        - Src:             'dhcp-common.c:625,13'
          Dst:             bindtodevice
        - Src:             'dhcp-common.c:630,9'
          Dst:             bindtodevice
    - functionName:    whichdevice
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         33
      ICount:          140
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - safe_malloc
        - strchr
        - strcmp
        - strcpy
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:578,59'
          Dst:             strchr
        - Src:             'dhcp-common.c:586,11'
          Dst:             strcmp
        - Src:             'dhcp-common.c:592,31'
          Dst:             strlen
        - Src:             'dhcp-common.c:592,19'
          Dst:             safe_malloc
        - Src:             'dhcp-common.c:593,7'
          Dst:             strcpy
    - functionName:    dhcp_update_configs
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         71
      ICount:          308
      EdgeCount:       97
      CyclomaticComplexity: 28
      functionsReached:
        - cache_find_by_name
        - config_find_by_address
        - config_find_by_address6
        - inet_ntop
        - my_syslog
        - whine_malloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:495,14'
          Dst:             cache_find_by_name
        - Src:             'dhcp-common.c:498,10'
          Dst:             cache_find_by_name
        - Src:             'dhcp-common.c:502,12'
          Dst:             cache_find_by_name
        - Src:             'dhcp-common.c:505,3'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:506,3'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:511,17'
          Dst:             config_find_by_address
        - Src:             'dhcp-common.c:520,17'
          Dst:             config_find_by_address6
        - Src:             'dhcp-common.c:523,42'
          Dst:             whine_malloc
        - Src:             'dhcp-common.c:539,6'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:540,6'
          Dst:             my_syslog
    - functionName:    find_config_match
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      'N/A'
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         102
      ICount:          414
      EdgeCount:       143
      CyclomaticComplexity: 43
      functionsReached:
        - config_has_mac
        - hostname_isequal
        - is_config_in_context
        - match_netid
        - memcmp
        - memcmp_masked
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:385,8'
          Dst:             memcmp
        - Src:             'dhcp-common.c:386,8'
          Dst:             is_config_in_context
        - Src:             'dhcp-common.c:387,8'
          Dst:             match_netid
        - Src:             'dhcp-common.c:395,8'
          Dst:             memcmp
        - Src:             'dhcp-common.c:396,8'
          Dst:             is_config_in_context
        - Src:             'dhcp-common.c:397,8'
          Dst:             match_netid
        - Src:             'dhcp-common.c:404,11'
          Dst:             config_has_mac
        - Src:             'dhcp-common.c:405,4'
          Dst:             is_config_in_context
        - Src:             'dhcp-common.c:406,4'
          Dst:             match_netid
        - Src:             'dhcp-common.c:412,4'
          Dst:             hostname_isequal
        - Src:             'dhcp-common.c:413,4'
          Dst:             is_config_in_context
        - Src:             'dhcp-common.c:414,4'
          Dst:             match_netid
        - Src:             'dhcp-common.c:423,9'
          Dst:             is_config_in_context
        - Src:             'dhcp-common.c:424,2'
          Dst:             match_netid
        - Src:             'dhcp-common.c:429,13'
          Dst:             memcmp_masked
    - functionName:    match_netid
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          113
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - strcmp
      functionUses:    37
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:237,10'
          Dst:             strcmp
        - Src:             'dhcp-common.c:244,8'
          Dst:             strcmp
    - functionName:    config_has_mac
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          85
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - memcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:328,2'
          Dst:             memcmp
    - functionName:    find_config
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 450
      functionDepth:   0
      returnType:      'N/A'
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_config_match
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:445,29'
          Dst:             find_config_match
        - Src:             'dhcp-common.c:448,11'
          Dst:             find_config_match
    - functionName:    match_bytes
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          98
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - memcmp
        - memcmp_masked
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:302,11'
          Dst:             memcmp_masked
        - Src:             'dhcp-common.c:308,6'
          Dst:             memcmp
    - functionName:    log_tags
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          95
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - my_syslog
        - strcmp
        - strlen
        - strncat
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:276,10'
          Dst:             strcmp
        - Src:             'dhcp-common.c:281,47'
          Dst:             strlen
        - Src:             'dhcp-common.c:281,8'
          Dst:             strncat
        - Src:             'dhcp-common.c:283,36'
          Dst:             strlen
        - Src:             'dhcp-common.c:283,3'
          Dst:             strncat
        - Src:             'dhcp-common.c:286,7'
          Dst:             my_syslog
    - functionName:    strip_hostname
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          33
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strchr
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:253,15'
          Dst:             strchr
    - functionName:    option_filter
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         91
      ICount:          378
      EdgeCount:       125
      CyclomaticComplexity: 36
      functionsReached:
        - match_netid
        - my_syslog
        - pxe_ok
        - run_tag_if
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:152,30'
          Dst:             run_tag_if
        - Src:             'dhcp-common.c:161,4'
          Dst:             match_netid
        - Src:             'dhcp-common.c:162,4'
          Dst:             pxe_ok
        - Src:             'dhcp-common.c:174,15'
          Dst:             run_tag_if
        - Src:             'dhcp-common.c:180,7'
          Dst:             match_netid
        - Src:             'dhcp-common.c:185,6'
          Dst:             match_netid
        - Src:             'dhcp-common.c:186,6'
          Dst:             pxe_ok
        - Src:             'dhcp-common.c:201,2'
          Dst:             pxe_ok
        - Src:             'dhcp-common.c:209,4'
          Dst:             my_syslog
    - functionName:    run_tag_if
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          72
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - match_netid_wild
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:121,9'
          Dst:             match_netid_wild
    - functionName:    pxe_ok
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    match_netid_wild
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         42
      ICount:          168
      EdgeCount:       57
      CyclomaticComplexity: 17
      functionsReached:
        - strcmp
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:90,29'
          Dst:             strlen
        - Src:             'dhcp-common.c:97,19'
          Dst:             strncmp
        - Src:             'dhcp-common.c:98,4'
          Dst:             strcmp
        - Src:             'dhcp-common.c:105,17'
          Dst:             strncmp
        - Src:             'dhcp-common.c:106,9'
          Dst:             strcmp
    - functionName:    recv_dhcp_packet
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          107
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - expand_buf
        - recvmsg
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:46,20'
          Dst:             recvmsg
        - Src:             'dhcp-common.c:46,69'
          Dst:             __errno_location
        - Src:             'dhcp-common.c:58,9'
          Dst:             expand_buf
        - Src:             'dhcp-common.c:63,4'
          Dst:             expand_buf
        - Src:             'dhcp-common.c:68,20'
          Dst:             recvmsg
        - Src:             'dhcp-common.c:68,50'
          Dst:             __errno_location
    - functionName:    dhcp_common_init
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 22
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - expand_buf
        - safe_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:25,23'
          Dst:             safe_malloc
        - Src:             'dhcp-common.c:26,24'
          Dst:             safe_malloc
        - Src:             'dhcp-common.c:27,24'
          Dst:             safe_malloc
        - Src:             'dhcp-common.c:32,3'
          Dst:             expand_buf
        - Src:             'dhcp-common.c:35,5'
          Dst:             expand_buf
    - functionName:    guess_range_netmask
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 589
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          131
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - inet_ntop
        - is_same_net
        - my_syslog
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:574,3'
          Dst:             is_same_net
        - Src:             'dhcp.c:575,3'
          Dst:             is_same_net
        - Src:             'dhcp.c:578,8'
          Dst:             is_same_net
        - Src:             'dhcp.c:579,8'
          Dst:             is_same_net
        - Src:             'dhcp.c:581,6'
          Dst:             inet_ntop
        - Src:             'dhcp.c:582,6'
          Dst:             inet_ntop
        - Src:             'dhcp.c:583,6'
          Dst:             inet_ntop
        - Src:             'dhcp.c:584,6'
          Dst:             my_syslog
    - functionName:    host_from_dns
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1092
      functionLinenumberEnd: 1122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          101
      EdgeCount:       29
      CyclomaticComplexity: 10
      functionsReached:
        - cache_find_by_addr
        - cache_get_name
        - get_domain
        - hostname_isequal
        - legal_hostname
        - safe_strncpy
        - strchr
        - strip_hostname
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:1098,12'
          Dst:             cache_find_by_addr
        - Src:             'dhcp.c:1102,30'
          Dst:             cache_get_name
        - Src:             'dhcp.c:1103,13'
          Dst:             strchr
        - Src:             'dhcp.c:1107,15'
          Dst:             get_domain
        - Src:             'dhcp.c:1108,16'
          Dst:             hostname_isequal
        - Src:             'dhcp.c:1112,12'
          Dst:             legal_hostname
        - Src:             'dhcp.c:1115,7'
          Dst:             safe_strncpy
        - Src:             'dhcp.c:1116,7'
          Dst:             strip_hostname
    - functionName:    dhcp_read_ethers
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 925
      functionLinenumberEnd: 1083
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         134
      ICount:          613
      EdgeCount:       182
      CyclomaticComplexity: 50
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - canonicalise
        - fclose
        - fgets
        - fopen64
        - hostname_isequal
        - inet_pton
        - legal_hostname
        - memcmp
        - my_syslog
        - parse_hex
        - strerror
        - strlen
        - whine_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:926,13'
          Dst:             fopen64
        - Src:             'dhcp.c:940,85'
          Dst:             __errno_location
        - Src:             'dhcp.c:940,76'
          Dst:             strerror
        - Src:             'dhcp.c:940,7'
          Dst:             my_syslog
        - Src:             'dhcp.c:961,10'
          Dst:             fgets
        - Src:             'dhcp.c:967,14'
          Dst:             strlen
        - Src:             'dhcp.c:967,34'
          Dst:             __ctype_b_loc
        - Src:             'dhcp.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'dhcp.c:974,20'
          Dst:             __ctype_b_loc
        - Src:             'dhcp.c:976,19'
          Dst:             parse_hex
        - Src:             'dhcp.c:978,4'
          Dst:             my_syslog
        - Src:             'dhcp.c:989,8'
          Dst:             inet_pton
        - Src:             'dhcp.c:991,8'
          Dst:             my_syslog
        - Src:             'dhcp.c:1004,17'
          Dst:             canonicalise
        - Src:             'dhcp.c:1004,47'
          Dst:             legal_hostname
        - Src:             'dhcp.c:1007,3'
          Dst:             my_syslog
        - Src:             'dhcp.c:1015,43'
          Dst:             hostname_isequal
        - Src:             'dhcp.c:1021,4'
          Dst:             my_syslog
        - Src:             'dhcp.c:1035,5'
          Dst:             memcmp
        - Src:             'dhcp.c:1041,23'
          Dst:             whine_malloc
        - Src:             'dhcp.c:1065,19'
          Dst:             whine_malloc
        - Src:             'dhcp.c:1080,3'
          Dst:             fclose
        - Src:             'dhcp.c:1082,3'
          Dst:             my_syslog
    - functionName:    address_allocate
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 922
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          367
      EdgeCount:       104
      CyclomaticComplexity: 29
      functionsReached:
        - __bswap_32
        - config_find_by_address
        - do_icmp_ping
        - lease_find_by_addr
        - lease_find_max_addr
        - match_netid
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:851,17'
          Dst:             match_netid
        - Src:             'dhcp.c:857,14'
          Dst:             lease_find_max_addr
        - Src:             'dhcp.c:860,21'
          Dst:             __bswap_32
        - Src:             'dhcp.c:860,21'
          Dst:             __bswap_32
        - Src:             'dhcp.c:860,21'
          Dst:             __bswap_32
        - Src:             'dhcp.c:878,4'
          Dst:             lease_find_by_addr
        - Src:             'dhcp.c:879,4'
          Dst:             config_find_by_address
        - Src:             'dhcp.c:880,5'
          Dst:             __bswap_32
        - Src:             'dhcp.c:893,16'
          Dst:             do_icmp_ping
        - Src:             'dhcp.c:913,20'
          Dst:             __bswap_32
        - Src:             'dhcp.c:913,20'
          Dst:             __bswap_32
        - Src:             'dhcp.c:915,25'
          Dst:             __bswap_32
        - Src:             'dhcp.c:915,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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    config_find_by_address
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 755
      functionLinenumberEnd: 763
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          47
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    do_icmp_ping
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 770
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - size_t
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          125
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - difftime
        - icmp_ping
        - whine_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:783,9'
          Dst:             difftime
        - Src:             'dhcp.c:799,12'
          Dst:             icmp_ping
        - Src:             'dhcp.c:806,18'
          Dst:             whine_malloc
    - functionName:    narrow_context
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 751
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          125
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - address_available
        - is_same_net
        - match_netid
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:731,15'
          Dst:             address_available
        - Src:             'dhcp.c:734,6'
          Dst:             match_netid
        - Src:             'dhcp.c:735,6'
          Dst:             is_same_net
        - Src:             'dhcp.c:741,8'
          Dst:             match_netid
        - Src:             'dhcp.c:742,8'
          Dst:             is_same_net
    - functionName:    address_available
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 690
      functionLinenumberEnd: 715
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          86
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - __bswap_32
        - match_netid
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:695,35'
          Dst:             __bswap_32
        - Src:             'dhcp.c:705,13'
          Dst:             __bswap_32
        - Src:             'dhcp.c:704,15'
          Dst:             __bswap_32
        - Src:             'dhcp.c:710,4'
          Dst:             match_netid
    - functionName:    complete_context
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 593
      functionLinenumberEnd: 684
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          371
      EdgeCount:       106
      CyclomaticComplexity: 31
      functionsReached:
        - guess_range_netmask
        - inet_ntop
        - is_same_net
        - my_syslog
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:623,8'
          Dst:             is_same_net
        - Src:             'dhcp.c:624,8'
          Dst:             is_same_net
        - Src:             'dhcp.c:642,3'
          Dst:             guess_range_netmask
        - Src:             'dhcp.c:647,4'
          Dst:             is_same_net
        - Src:             'dhcp.c:648,4'
          Dst:             is_same_net
        - Src:             'dhcp.c:661,12'
          Dst:             is_same_net
        - Src:             'dhcp.c:679,6'
          Dst:             inet_ntop
        - Src:             'dhcp.c:680,6'
          Dst:             my_syslog
    - functionName:    check_listen_addrs
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          65
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dhcp_packet
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 530
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         154
      ICount:          826
      EdgeCount:       214
      CyclomaticComplexity: 62
      functionsReached:
        - __bswap_16
        - __cmsg_nxthdr
        - __errno_location
        - check_listen_addrs
        - complete_context
        - dhcp_reply
        - dump_packet_udp
        - if_nametoindex
        - iface_check
        - iface_enumerate
        - indextoname
        - inet_ntop
        - ioctl
        - lease_prune
        - lease_update_dns
        - lease_update_file
        - my_syslog
        - recv_dhcp_packet
        - relay_reply4
        - relay_upstream4
        - retry_send
        - safe_strncpy
        - sendmsg
        - strerror
        - wildcard_match
        - wildcard_matchn
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:174,13'
          Dst:             recv_dhcp_packet
        - Src:             'dhcp.c:179,7'
          Dst:             ioctl
        - Src:             'dhcp.c:185,54'
          Dst:             __cmsg_nxthdr
        - Src:             'dhcp.c:233,24'
          Dst:             __bswap_16
        - Src:             'dhcp.c:241,3'
          Dst:             dump_packet_udp
        - Src:             'dhcp.c:244,8'
          Dst:             indextoname
        - Src:             'dhcp.c:245,7'
          Dst:             ioctl
        - Src:             'dhcp.c:267,3'
          Dst:             safe_strncpy
        - Src:             'dhcp.c:279,6'
          Dst:             wildcard_matchn
        - Src:             'dhcp.c:281,26'
          Dst:             if_nametoindex
        - Src:             'dhcp.c:283,3'
          Dst:             my_syslog
        - Src:             'dhcp.c:290,3'
          Dst:             safe_strncpy
        - Src:             'dhcp.c:305,22'
          Dst:             relay_reply4
        - Src:             'dhcp.c:309,12'
          Dst:             indextoname
        - Src:             'dhcp.c:314,7'
          Dst:             safe_strncpy
        - Src:             'dhcp.c:320,11'
          Dst:             ioctl
        - Src:             'dhcp.c:324,8'
          Dst:             iface_check
        - Src:             'dhcp.c:325,6'
          Dst:             my_syslog
        - Src:             'dhcp.c:330,45'
          Dst:             wildcard_match
        - Src:             'dhcp.c:343,12'
          Dst:             iface_check
        - Src:             'dhcp.c:353,9'
          Dst:             iface_enumerate
        - Src:             'dhcp.c:353,9'
          Dst:             check_listen_addrs
        - Src:             'dhcp.c:360,4'
          Dst:             complete_context
        - Src:             'dhcp.c:363,12'
          Dst:             iface_enumerate
        - Src:             'dhcp.c:363,12'
          Dst:             complete_context
        - Src:             'dhcp.c:366,7'
          Dst:             relay_upstream4
        - Src:             'dhcp.c:372,7'
          Dst:             lease_prune
        - Src:             'dhcp.c:373,21'
          Dst:             dhcp_reply
        - Src:             'dhcp.c:376,7'
          Dst:             lease_update_file
        - Src:             'dhcp.c:377,7'
          Dst:             lease_update_dns
        - Src:             'dhcp.c:411,20'
          Dst:             __bswap_16
        - Src:             'dhcp.c:423,20'
          Dst:             __bswap_16
        - Src:             'dhcp.c:447,12'
          Dst:             __bswap_16
        - Src:             'dhcp.c:452,27'
          Dst:             __bswap_16
        - Src:             'dhcp.c:459,27'
          Dst:             __bswap_16
        - Src:             'dhcp.c:465,15'
          Dst:             ioctl
        - Src:             'dhcp.c:466,88'
          Dst:             __errno_location
        - Src:             'dhcp.c:466,79'
          Dst:             strerror
        - Src:             'dhcp.c:466,13'
          Dst:             my_syslog
        - Src:             'dhcp.c:517,3'
          Dst:             dump_packet_udp
        - Src:             'dhcp.c:521,20'
          Dst:             sendmsg
        - Src:             'dhcp.c:521,9'
          Dst:             retry_send
        - Src:             'dhcp.c:524,7'
          Dst:             __errno_location
        - Src:             'dhcp.c:526,7'
          Dst:             inet_ntop
        - Src:             'dhcp.c:528,21'
          Dst:             strerror
        - Src:             'dhcp.c:527,7'
          Dst:             my_syslog
    - functionName:    make_fd
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         32
      ICount:          157
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - __bswap_16
        - __errno_location
        - bind
        - die
        - fix_fd
        - setsockopt
        - socket
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:38,12'
          Dst:             socket
        - Src:             'dhcp.c:49,5'
          Dst:             die
        - Src:             'dhcp.c:51,8'
          Dst:             fix_fd
        - Src:             'dhcp.c:53,7'
          Dst:             setsockopt
        - Src:             'dhcp.c:56,7'
          Dst:             setsockopt
        - Src:             'dhcp.c:59,7'
          Dst:             setsockopt
        - Src:             'dhcp.c:63,7'
          Dst:             setsockopt
        - Src:             'dhcp.c:64,5'
          Dst:             die
        - Src:             'dhcp.c:76,17'
          Dst:             setsockopt
        - Src:             'dhcp.c:77,4'
          Dst:             __errno_location
        - Src:             'dhcp.c:82,7'
          Dst:             setsockopt
        - Src:             'dhcp.c:85,2'
          Dst:             die
        - Src:             'dhcp.c:90,20'
          Dst:             __bswap_16
        - Src:             'dhcp.c:96,7'
          Dst:             bind
        - Src:             'dhcp.c:97,5'
          Dst:             die
    - functionName:    dhcp_init
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - make_fd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:108,20'
          Dst:             make_fd
        - Src:             'dhcp.c:110,21'
          Dst:             make_fd
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    construct_worker
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 812
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         95
      ICount:          475
      EdgeCount:       135
      CyclomaticComplexity: 42
      functionsReached:
        - __bswap_32
        - addr6part
        - iface_check
        - indextoname
        - is_same_net6
        - log_context
        - ra_start_unsolicited
        - setaddr6part
        - whine_malloc
        - wildcard_match
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:706,7'
          Dst:             __bswap_32
        - Src:             'dhcp6.c:707,7'
          Dst:             __bswap_32
        - Src:             'dhcp6.c:707,7'
          Dst:             __bswap_32
        - Src:             'dhcp6.c:718,8'
          Dst:             indextoname
        - Src:             'dhcp6.c:719,8'
          Dst:             iface_check
        - Src:             'dhcp6.c:723,22'
          Dst:             wildcard_match
        - Src:             'dhcp6.c:731,6'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:732,6'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:737,3'
          Dst:             ra_start_unsolicited
        - Src:             'dhcp6.c:746,14'
          Dst:             wildcard_match
        - Src:             'dhcp6.c:750,24'
          Dst:             addr6part
        - Src:             'dhcp6.c:750,2'
          Dst:             setaddr6part
        - Src:             'dhcp6.c:752,22'
          Dst:             addr6part
        - Src:             'dhcp6.c:752,2'
          Dst:             setaddr6part
        - Src:             'dhcp6.c:771,9'
          Dst:             log_context
        - Src:             'dhcp6.c:773,9'
          Dst:             ra_start_unsolicited
        - Src:             'dhcp6.c:784,29'
          Dst:             whine_malloc
        - Src:             'dhcp6.c:798,6'
          Dst:             ra_start_unsolicited
        - Src:             'dhcp6.c:807,6'
          Dst:             log_context
    - functionName:    dhcp_construct_contexts
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 815
      functionLinenumberEnd: 879
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          224
      EdgeCount:       64
      CyclomaticComplexity: 18
      functionsReached:
        - construct_worker
        - iface_enumerate
        - lease_update_file
        - lease_update_slaac
        - log_context
        - periodic_ra
        - ra_start_unsolicited
        - send_alarm
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:826,3'
          Dst:             iface_enumerate
        - Src:             'dhcp6.c:826,3'
          Dst:             construct_worker
        - Src:             'dhcp6.c:846,8'
          Dst:             ra_start_unsolicited
        - Src:             'dhcp6.c:852,8'
          Dst:             log_context
        - Src:             'dhcp6.c:872,6'
          Dst:             lease_update_slaac
        - Src:             'dhcp6.c:873,4'
          Dst:             lease_update_file
        - Src:             'dhcp6.c:877,13'
          Dst:             periodic_ra
        - Src:             'dhcp6.c:877,2'
          Dst:             send_alarm
    - functionName:    make_duid1
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 650
      functionLinenumberEnd: 683
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          84
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - safe_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:666,26'
          Dst:             safe_malloc
        - Src:             'dhcp6.c:673,26'
          Dst:             safe_malloc
    - functionName:    make_duid
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          105
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - die
        - iface_enumerate
        - make_duid1
        - safe_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:625,26'
          Dst:             safe_malloc
        - Src:             'dhcp6.c:642,7'
          Dst:             iface_enumerate
        - Src:             'dhcp6.c:642,7'
          Dst:             make_duid1
        - Src:             'dhcp6.c:645,2'
          Dst:             die
    - functionName:    address6_valid
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 606
      functionLinenumberEnd: 615
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          57
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - is_same_net6
        - match_netid
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:610,9'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:611,2'
          Dst:             match_netid
    - functionName:    address6_available
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          94
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - addr6part
        - is_same_net6
        - match_netid
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:581,26'
          Dst:             addr6part
        - Src:             'dhcp6.c:586,15'
          Dst:             addr6part
        - Src:             'dhcp6.c:587,13'
          Dst:             addr6part
        - Src:             'dhcp6.c:590,11'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:591,4'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:594,11'
          Dst:             match_netid
    - functionName:    address6_allocate
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      'N/A'
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         63
      ICount:          309
      EdgeCount:       85
      CyclomaticComplexity: 24
      functionsReached:
        - addr6part
        - config_find_by_address6
        - lease6_find_by_addr
        - lease_find_max_addr6
        - match_netid
        - rand64
        - setaddr6part
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:512,9'
          Dst:             rand64
        - Src:             'dhcp6.c:521,17'
          Dst:             match_netid
        - Src:             'dhcp6.c:531,16'
          Dst:             lease_find_max_addr6
        - Src:             'dhcp6.c:537,24'
          Dst:             addr6part
        - Src:             'dhcp6.c:537,46'
          Dst:             addr6part
        - Src:             'dhcp6.c:544,16'
          Dst:             addr6part
        - Src:             'dhcp6.c:553,20'
          Dst:             addr6part
        - Src:             'dhcp6.c:557,6'
          Dst:             setaddr6part
        - Src:             'dhcp6.c:557,6'
          Dst:             setaddr6part
        - Src:             'dhcp6.c:560,4'
          Dst:             lease6_find_by_addr
        - Src:             'dhcp6.c:561,4'
          Dst:             config_find_by_address6
        - Src:             'dhcp6.c:566,19'
          Dst:             addr6part
        - Src:             'dhcp6.c:567,15'
          Dst:             addr6part
    - functionName:    config_find_by_address6
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 490
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          127
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - is_same_net6
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:484,17'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:485,8'
          Dst:             is_same_net6
    - functionName:    get_client_mac
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          170
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - __bswap_16
        - find_mac
        - nanosleep
        - retry_send
        - sendto
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:330,24'
          Dst:             __bswap_16
        - Src:             'dhcp6.c:338,21'
          Dst:             find_mac
        - Src:             'dhcp6.c:341,24'
          Dst:             sendto
        - Src:             'dhcp6.c:341,13'
          Dst:             retry_send
        - Src:             'dhcp6.c:345,7'
          Dst:             nanosleep
        - Src:             'dhcp6.c:338,21'
          Dst:             find_mac
        - Src:             'dhcp6.c:341,24'
          Dst:             sendto
        - Src:             'dhcp6.c:341,13'
          Dst:             retry_send
        - Src:             'dhcp6.c:345,7'
          Dst:             nanosleep
        - Src:             'dhcp6.c:338,21'
          Dst:             find_mac
        - Src:             'dhcp6.c:341,24'
          Dst:             sendto
        - Src:             'dhcp6.c:341,13'
          Dst:             retry_send
        - Src:             'dhcp6.c:345,7'
          Dst:             nanosleep
        - Src:             'dhcp6.c:338,21'
          Dst:             find_mac
        - Src:             'dhcp6.c:341,24'
          Dst:             sendto
        - Src:             'dhcp6.c:341,13'
          Dst:             retry_send
        - Src:             'dhcp6.c:345,7'
          Dst:             nanosleep
        - Src:             'dhcp6.c:338,21'
          Dst:             find_mac
        - Src:             'dhcp6.c:341,24'
          Dst:             sendto
        - Src:             'dhcp6.c:341,13'
          Dst:             retry_send
        - Src:             'dhcp6.c:345,7'
          Dst:             nanosleep
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    complete_context6
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 472
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         125
      ICount:          603
      EdgeCount:       176
      CyclomaticComplexity: 53
      functionsReached:
        - __bswap_32
        - inet_ntop
        - is_same_net6
        - my_syslog
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:368,7'
          Dst:             __bswap_32
        - Src:             'dhcp6.c:368,7'
          Dst:             __bswap_32
        - Src:             'dhcp6.c:370,12'
          Dst:             __bswap_32
        - Src:             'dhcp6.c:370,12'
          Dst:             __bswap_32
        - Src:             'dhcp6.c:373,7'
          Dst:             __bswap_32
        - Src:             'dhcp6.c:397,6'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:398,6'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:443,7'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:444,7'
          Dst:             is_same_net6
        - Src:             'dhcp6.c:466,8'
          Dst:             inet_ntop
        - Src:             'dhcp6.c:467,8'
          Dst:             my_syslog
    - functionName:    dhcp6_packet
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         155
      ICount:          754
      EdgeCount:       214
      CyclomaticComplexity: 61
      functionsReached:
        - __bswap_16
        - __cmsg_nxthdr
        - complete_context6
        - dhcp6_reply
        - dump_packet_udp
        - if_nametoindex
        - iface_enumerate
        - indextoname
        - inet_pton
        - lease_prune
        - lease_update_dns
        - lease_update_file
        - my_syslog
        - recv_dhcp_packet
        - relay_reply6
        - relay_upstream6
        - retry_send
        - save_counter
        - sendto
        - wildcard_match
        - wildcard_matchn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:119,13'
          Dst:             recv_dhcp_packet
        - Src:             'dhcp6.c:122,52'
          Dst:             __cmsg_nxthdr
        - Src:             'dhcp6.c:135,8'
          Dst:             indextoname
        - Src:             'dhcp6.c:151,4'
          Dst:             my_syslog
        - Src:             'dhcp6.c:162,3'
          Dst:             dump_packet_udp
        - Src:             'dhcp6.c:166,7'
          Dst:             relay_reply6
        - Src:             'dhcp6.c:169,72'
          Dst:             save_counter
        - Src:             'dhcp6.c:169,7'
          Dst:             dump_packet_udp
        - Src:             'dhcp6.c:174,11'
          Dst:             save_counter
        - Src:             'dhcp6.c:173,25'
          Dst:             sendto
        - Src:             'dhcp6.c:173,14'
          Dst:             retry_send
        - Src:             'dhcp6.c:183,19'
          Dst:             wildcard_match
        - Src:             'dhcp6.c:188,6'
          Dst:             wildcard_match
        - Src:             'dhcp6.c:206,10'
          Dst:             wildcard_matchn
        - Src:             'dhcp6.c:208,14'
          Dst:             if_nametoindex
        - Src:             'dhcp6.c:211,7'
          Dst:             my_syslog
        - Src:             'dhcp6.c:239,7'
          Dst:             inet_pton
        - Src:             'dhcp6.c:243,7'
          Dst:             inet_pton
        - Src:             'dhcp6.c:250,8'
          Dst:             relay_upstream6
        - Src:             'dhcp6.c:254,12'
          Dst:             iface_enumerate
        - Src:             'dhcp6.c:254,12'
          Dst:             complete_context6
        - Src:             'dhcp6.c:261,4'
          Dst:             relay_upstream6
        - Src:             'dhcp6.c:268,23'
          Dst:             wildcard_match
        - Src:             'dhcp6.c:279,7'
          Dst:             lease_prune
        - Src:             'dhcp6.c:281,14'
          Dst:             dhcp6_reply
        - Src:             'dhcp6.c:290,21'
          Dst:             __bswap_16
        - Src:             'dhcp6.c:293,69'
          Dst:             save_counter
        - Src:             'dhcp6.c:293,4'
          Dst:             dump_packet_udp
        - Src:             'dhcp6.c:298,8'
          Dst:             save_counter
        - Src:             'dhcp6.c:297,22'
          Dst:             sendto
        - Src:             'dhcp6.c:297,11'
          Dst:             retry_send
        - Src:             'dhcp6.c:303,7'
          Dst:             lease_update_file
        - Src:             'dhcp6.c:304,7'
          Dst:             lease_update_dns
    - functionName:    dhcp6_init
      functionSourceFile: '/src/dnsmasq/src/dhcp6.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         30
      ICount:          146
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - __bswap_16
        - __errno_location
        - bind
        - die
        - fix_fd
        - set_ipv6pktinfo
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp6.c:44,13'
          Dst:             socket
        - Src:             'dhcp6.c:46,7'
          Dst:             setsockopt
        - Src:             'dhcp6.c:48,7'
          Dst:             setsockopt
        - Src:             'dhcp6.c:49,8'
          Dst:             fix_fd
        - Src:             'dhcp6.c:50,8'
          Dst:             set_ipv6pktinfo
        - Src:             'dhcp6.c:51,5'
          Dst:             die
        - Src:             'dhcp6.c:63,17'
          Dst:             setsockopt
        - Src:             'dhcp6.c:64,4'
          Dst:             __errno_location
        - Src:             'dhcp6.c:69,7'
          Dst:             setsockopt
        - Src:             'dhcp6.c:72,2'
          Dst:             die
        - Src:             'dhcp6.c:81,21'
          Dst:             __bswap_16
        - Src:             'dhcp6.c:83,7'
          Dst:             bind
        - Src:             'dhcp6.c:84,5'
          Dst:             die
    - functionName:    char64
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    encoder
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - char64
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:262,12'
          Dst:             char64
        - Src:             'edns0.c:263,12'
          Dst:             char64
        - Src:             'edns0.c:264,12'
          Dst:             char64
        - Src:             'edns0.c:265,12'
          Dst:             char64
    - functionName:    get_addrp
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          17
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_source_addr
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 405
      functionLinenumberEnd: 434
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          81
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - add_pseudoheader
        - calc_subnet_opt
        - check_source
        - find_pseudoheader
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:415,13'
          Dst:             calc_subnet_opt
        - Src:             'edns0.c:426,15'
          Dst:             find_pseudoheader
        - Src:             'edns0.c:427,5'
          Dst:             check_source
        - Src:             'edns0.c:433,10'
          Dst:             add_pseudoheader
    - functionName:    calc_subnet_opt
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          165
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - __bswap_16
        - get_addrp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:359,12'
          Dst:             get_addrp
        - Src:             'edns0.c:372,12'
          Dst:             get_addrp
        - Src:             'edns0.c:379,17'
          Dst:             __bswap_16
    - functionName:    find_pseudoheader
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 20
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          265
      EdgeCount:       74
      CyclomaticComplexity: 23
      functionsReached:
        - __bswap_16
        - skip_name
        - skip_questions
        - skip_section
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:26,20'
          Dst:             __bswap_16
        - Src:             'edns0.c:37,13'
          Dst:             __bswap_16
        - Src:             'edns0.c:39,21'
          Dst:             skip_name
        - Src:             'edns0.c:52,20'
          Dst:             skip_questions
        - Src:             'edns0.c:59,35'
          Dst:             __bswap_16
        - Src:             'edns0.c:59,60'
          Dst:             __bswap_16
        - Src:             'edns0.c:59,16'
          Dst:             skip_section
        - Src:             'edns0.c:65,20'
          Dst:             skip_name
    - functionName:    check_source
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          142
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - calc_subnet_opt
        - memcmp
        - skip_name
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:447,16'
          Dst:             calc_subnet_opt
        - Src:             'edns0.c:449,13'
          Dst:             skip_name
        - Src:             'edns0.c:469,32'
          Dst:             memcmp
    - functionName:    add_pseudoheader
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      size_t
      argCount:        8
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          431
      EdgeCount:       86
      CyclomaticComplexity: 26
      functionsReached:
        - __bswap_16
        - find_pseudoheader
        - rrfilter
        - skip_questions
        - skip_section
        - whine_malloc
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:110,7'
          Dst:             find_pseudoheader
        - Src:             'edns0.c:181,30'
          Dst:             whine_malloc
        - Src:             'edns0.c:185,4'
          Dst:             rrfilter
        - Src:             'edns0.c:195,17'
          Dst:             skip_questions
        - Src:             'edns0.c:197,9'
          Dst:             __bswap_16
        - Src:             'edns0.c:197,34'
          Dst:             __bswap_16
        - Src:             'edns0.c:197,59'
          Dst:             __bswap_16
        - Src:             'edns0.c:196,10'
          Dst:             skip_section
        - Src:             'edns0.c:228,20'
          Dst:             __bswap_16
        - Src:             'edns0.c:228,20'
          Dst:             __bswap_16
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_umbrella_opt
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          133
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - add_pseudoheader
        - get_addrp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:524,13'
          Dst:             get_addrp
        - Src:             'edns0.c:540,10'
          Dst:             add_pseudoheader
    - functionName:    add_dns_client
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          106
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - add_pseudoheader
        - encoder
        - find_mac
        - print_mac
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:278,75'
          Dst:             find_mac
        - Src:             'edns0.c:285,3'
          Dst:             print_mac
        - Src:             'edns0.c:288,5'
          Dst:             encoder
        - Src:             'edns0.c:289,5'
          Dst:             encoder
        - Src:             'edns0.c:297,101'
          Dst:             strlen
        - Src:             'edns0.c:297,12'
          Dst:             add_pseudoheader
    - functionName:    add_mac
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 325
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          70
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - add_pseudoheader
        - find_mac
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:312,45'
          Dst:             find_mac
        - Src:             'edns0.c:322,12'
          Dst:             add_pseudoheader
    - functionName:    add_edns0_config
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 548
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - add_dns_client
        - add_mac
        - add_pseudoheader
        - add_source_addr
        - add_umbrella_opt
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:551,11'
          Dst:             add_mac
        - Src:             'edns0.c:552,10'
          Dst:             add_dns_client
        - Src:             'edns0.c:556,48'
          Dst:             strlen
        - Src:             'edns0.c:555,12'
          Dst:             add_pseudoheader
        - Src:             'edns0.c:559,12'
          Dst:             add_umbrella_opt
        - Src:             'edns0.c:561,10'
          Dst:             add_source_addr
    - functionName:    add_do_bit
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_pseudoheader
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:252,10'
          Dst:             add_pseudoheader
    - functionName:    put_opt6_string
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - put_opt6
        - strlen
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'outpacket.c:115,15'
          Dst:             strlen
        - Src:             'outpacket.c:115,3'
          Dst:             put_opt6
    - functionName:    put_opt6
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          29
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - expand
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'outpacket.c:83,12'
          Dst:             expand
    - functionName:    expand
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - expand_buf
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'outpacket.c:55,7'
          Dst:             expand_buf
    - functionName:    put_opt6_char
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - expand
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'outpacket.c:109,12'
          Dst:             expand
    - functionName:    put_opt6_short
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - expand
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'outpacket.c:101,12'
          Dst:             expand
    - functionName:    put_opt6_long
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - expand
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'outpacket.c:93,12'
          Dst:             expand
    - functionName:    new_opt6
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - expand
      functionUses:    38
      BranchProfiles:  []
      Callsites:
        - Src:             'outpacket.c:70,12'
          Dst:             expand
    - functionName:    save_counter
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          19
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reset_counter
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - save_counter
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'outpacket.c:38,3'
          Dst:             save_counter
    - functionName:    end_opt6
      functionSourceFile: '/src/dnsmasq/src/outpacket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 30
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    39
      BranchProfiles:  []
      Callsites:       []
    - functionName:    option_find2
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2261
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          50
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_options
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1963
      functionLinenumberEnd: 1972
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __bswap_32
        - my_syslog
        - option_string
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:1966,23'
          Dst:             option_string
        - Src:             'rfc2131.c:1969,3'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1968,7'
          Dst:             my_syslog
    - 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:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    40
      BranchProfiles:  []
      Callsites:       []
    - functionName:    find_overload
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2057
      functionLinenumberEnd: 2067
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dhcp_skip_opts
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2049
      functionLinenumberEnd: 2052
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          31
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    relay_reply4
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3228
      functionLinenumberEnd: 3262
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          140
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - option_find
        - option_find1
        - option_uint
        - wildcard_match
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:3244,15'
          Dst:             option_find
        - Src:             'rfc2131.c:3246,20'
          Dst:             option_find1
        - Src:             'rfc2131.c:3247,18'
          Dst:             option_uint
        - Src:             'rfc2131.c:3257,49'
          Dst:             wildcard_match
    - functionName:    option_find
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2000
      functionLinenumberEnd: 2022
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          73
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - option_find1
      functionUses:    37
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2004,14'
          Dst:             option_find1
        - Src:             'rfc2131.c:2008,20'
          Dst:             option_find1
        - Src:             'rfc2131.c:2013,14'
          Dst:             option_find1
        - Src:             'rfc2131.c:2018,14'
          Dst:             option_find1
    - functionName:    option_find1
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1975
      functionLinenumberEnd: 1997
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          86
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    19
      BranchProfiles:  []
      Callsites:       []
    - functionName:    option_uint
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2036
      functionLinenumberEnd: 2045
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    relay_upstream4
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3059
      functionLinenumberEnd: 3225
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          376
      EdgeCount:       85
      CyclomaticComplexity: 26
      functionsReached:
        - __bswap_16
        - __bswap_32
        - __errno_location
        - dump_packet_udp
        - inet_ntop
        - ioctl
        - my_syslog
        - option_find1
        - safe_strncpy
        - send_from
        - snprintf
        - strerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:3083,4'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:3111,29'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:3116,12'
          Dst:             ioctl
        - Src:             'rfc2131.c:3118,110'
          Dst:             __errno_location
        - Src:             'rfc2131.c:3118,101'
          Dst:             strerror
        - Src:             'rfc2131.c:3118,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:3147,20'
          Dst:             option_find1
        - Src:             'rfc2131.c:3179,24'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:3187,8'
          Dst:             ioctl
        - Src:             'rfc2131.c:3189,119'
          Dst:             __errno_location
        - Src:             'rfc2131.c:3189,110'
          Dst:             strerror
        - Src:             'rfc2131.c:3189,8'
          Dst:             my_syslog
        - Src:             'rfc2131.c:3199,25'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:3203,2'
          Dst:             dump_packet_udp
        - Src:             'rfc2131.c:3207,7'
          Dst:             send_from
        - Src:             'rfc2131.c:3211,4'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:3213,6'
          Dst:             snprintf
        - Src:             'rfc2131.c:3215,6'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:3216,4'
          Dst:             my_syslog
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_extradata_opt
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1910
      functionLinenumberEnd: 1915
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lease_add_extradata
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:1912,5'
          Dst:             lease_add_extradata
        - Src:             'rfc2131.c:1914,5'
          Dst:             lease_add_extradata
    - functionName:    option_put_string
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2203
      functionLinenumberEnd: 2212
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          45
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - free_space
        - strlen
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2205,16'
          Dst:             strlen
        - Src:             'rfc2131.c:2210,12'
          Dst:             free_space
    - functionName:    free_space
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2130
      functionLinenumberEnd: 2188
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          165
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - dhcp_skip_opts
        - find_overload
        - my_syslog
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2131,22'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2138,24'
          Dst:             find_overload
        - Src:             'rfc2131.c:2158,12'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2171,9'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2179,2'
          Dst:             my_syslog
    - functionName:    server_id
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1876
      functionLinenumberEnd: 1883
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          32
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    calc_time
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1860
      functionLinenumberEnd: 1872
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          85
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - option_uint
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:1865,31'
          Dst:             option_uint
    - functionName:    in_list
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2246
      functionLinenumberEnd: 2258
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          43
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    apply_delay
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3036
      functionLinenumberEnd: 3056
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          95
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - __bswap_32
        - delay_dhcp
        - match_netid
        - my_syslog
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:3041,9'
          Dst:             match_netid
        - Src:             'rfc2131.c:3047,11'
          Dst:             match_netid
        - Src:             'rfc2131.c:3053,57'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:3053,2'
          Dst:             my_syslog
        - Src:             'rfc2131.c:3054,7'
          Dst:             delay_dhcp
    - functionName:    handle_encap
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2962
      functionLinenumberEnd: 3033
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          263
      EdgeCount:       75
      CyclomaticComplexity: 22
      functionsReached:
        - __bswap_32
        - do_encap_opts
        - do_opt
        - free_space
        - in_list
        - match_netid
        - my_syslog
        - pxe_ok
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2999,12'
          Dst:             match_netid
        - Src:             'rfc2131.c:3000,5'
          Dst:             pxe_ok
        - Src:             'rfc2131.c:3001,34'
          Dst:             in_list
        - Src:             'rfc2131.c:3005,12'
          Dst:             do_opt
        - Src:             'rfc2131.c:3012,3'
          Dst:             do_encap_opts
        - Src:             'rfc2131.c:3014,3'
          Dst:             my_syslog
        - Src:             'rfc2131.c:3015,22'
          Dst:             free_space
        - Src:             'rfc2131.c:3017,20'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:3024,10'
          Dst:             do_opt
    - functionName:    do_opt
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2216
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          134
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    do_encap_opts
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2312
      functionLinenumberEnd: 2355
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          175
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - do_opt
        - free_space
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2321,12'
          Dst:             do_opt
        - Src:             'rfc2131.c:2327,10'
          Dst:             free_space
        - Src:             'rfc2131.c:2331,11'
          Dst:             do_opt
        - Src:             'rfc2131.c:2342,12'
          Dst:             free_space
        - Src:             'rfc2131.c:2347,12'
          Dst:             do_opt
    - functionName:    pxe_opts
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2438
      functionLinenumberEnd: 2555
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          345
      EdgeCount:       69
      CyclomaticComplexity: 20
      functionsReached:
        - a_record_from_hosts
        - match_netid
        - my_syslog
        - strlen
        - whine_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2458,35'
          Dst:             whine_malloc
        - Src:             'rfc2131.c:2473,37'
          Dst:             match_netid
        - Src:             'rfc2131.c:2475,15'
          Dst:             strlen
        - Src:             'rfc2131.c:2495,22'
          Dst:             a_record_from_hosts
        - Src:             'rfc2131.c:2490,6'
          Dst:             my_syslog
    - functionName:    pxe_uefi_workaround
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2393
      functionLinenumberEnd: 2435
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          140
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - a_record_from_hosts
        - inet_ntop
        - match_netid
        - snprintf
        - strchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2401,58'
          Dst:             match_netid
        - Src:             'rfc2131.c:2417,22'
          Dst:             a_record_from_hosts
        - Src:             'rfc2131.c:2418,7'
          Dst:             snprintf
        - Src:             'rfc2131.c:2427,7'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:2432,7'
          Dst:             strchr
        - Src:             'rfc2131.c:2431,5'
          Dst:             snprintf
    - functionName:    find_boot
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2566
      functionLinenumberEnd: 2579
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          74
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - match_netid
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2571,9'
          Dst:             match_netid
        - Src:             'rfc2131.c:2576,11'
          Dst:             match_netid
    - functionName:    prune_vendor_opts
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2370
      functionLinenumberEnd: 2383
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          73
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - match_netid
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2378,7'
          Dst:             match_netid
    - functionName:    pxe_misc
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2359
      functionLinenumberEnd: 2367
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          41
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - free_space
        - option_put_string
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2364,3'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2365,20'
          Dst:             free_space
    - functionName:    option_put
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2192
      functionLinenumberEnd: 2199
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          93
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - free_space
      functionUses:    28
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2194,22'
          Dst:             free_space
    - functionName:    is_pxe_client
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2583
      functionLinenumberEnd: 2603
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - option_find
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2587,9'
          Dst:             option_find
        - Src:             'rfc2131.c:2592,18'
          Dst:             strlen
        - Src:             'rfc2131.c:2595,11'
          Dst:             strncmp
    - functionName:    dhcp_packet_size
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2070
      functionLinenumberEnd: 2126
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          242
      EdgeCount:       61
      CyclomaticComplexity: 18
      functionsReached:
        - __bswap_16
        - __bswap_32
        - dhcp_skip_opts
        - find_overload
        - inet_ntop
        - log_options
        - my_syslog
        - option_uint
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2071,22'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2084,14'
          Dst:             find_overload
        - Src:             'rfc2131.c:2086,20'
          Dst:             option_uint
        - Src:             'rfc2131.c:2088,8'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2090,2'
          Dst:             log_options
        - Src:             'rfc2131.c:2093,62'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2093,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2095,20'
          Dst:             option_uint
        - Src:             'rfc2131.c:2097,8'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2099,2'
          Dst:             log_options
        - Src:             'rfc2131.c:2102,60'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2102,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2111,4'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:2112,59'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2112,4'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2115,26'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:2116,60'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2116,2'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2118,7'
          Dst:             log_options
    - functionName:    log_packet
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1920
      functionLinenumberEnd: 1960
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          141
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - __bswap_32
        - inet_ntop
        - my_syslog
        - print_mac
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:1927,5'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:1930,5'
          Dst:             print_mac
        - Src:             'rfc2131.c:1934,8'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1933,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:1944,5'
          Dst:             my_syslog
    - functionName:    do_options
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2622
      functionLinenumberEnd: 2958
      functionDepth:   0
      returnType:      void
      argCount:        18
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - char
        - int
        - int
        - 'N/A'
        - int
        - size_t
        - int
        - short
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         312
      ICount:          1312
      EdgeCount:       437
      CyclomaticComplexity: 127
      functionsReached:
        - __bswap_16
        - __bswap_32
        - a_record_from_hosts
        - do_encap_opts
        - do_opt
        - do_rfc1035_name
        - find_boot
        - free_space
        - handle_encap
        - in_list
        - match_netid
        - match_vendor_opts
        - my_syslog
        - option_filter
        - option_find2
        - option_put
        - option_put_string
        - option_string
        - prune_vendor_opts
        - pxe_misc
        - pxe_opts
        - pxe_uefi_workaround
        - safe_strncpy
        - snprintf
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2636,11'
          Dst:             option_filter
        - Src:             'rfc2131.c:2644,14'
          Dst:             option_string
        - Src:             'rfc2131.c:2645,9'
          Dst:             snprintf
        - Src:             'rfc2131.c:2654,69'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2654,8'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2662,26'
          Dst:             match_netid
        - Src:             'rfc2131.c:2665,17'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:2676,19'
          Dst:             find_boot
        - Src:             'rfc2131.c:2682,5'
          Dst:             in_list
        - Src:             'rfc2131.c:2683,3'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2685,3'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:2692,5'
          Dst:             in_list
        - Src:             'rfc2131.c:2693,3'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2695,3'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:2701,21'
          Dst:             a_record_from_hosts
        - Src:             'rfc2131.c:2709,26'
          Dst:             in_list
        - Src:             'rfc2131.c:2710,15'
          Dst:             option_find2
        - Src:             'rfc2131.c:2712,8'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:2716,26'
          Dst:             in_list
        - Src:             'rfc2131.c:2717,15'
          Dst:             option_find2
        - Src:             'rfc2131.c:2719,8'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:2723,15'
          Dst:             option_find2
        - Src:             'rfc2131.c:2747,59'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2747,5'
          Dst:             option_put
        - Src:             'rfc2131.c:2756,18'
          Dst:             option_find2
        - Src:             'rfc2131.c:2758,11'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2763,19'
          Dst:             option_find2
        - Src:             'rfc2131.c:2765,11'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2780,8'
          Dst:             option_put
        - Src:             'rfc2131.c:2781,8'
          Dst:             option_put
        - Src:             'rfc2131.c:2788,12'
          Dst:             option_find2
        - Src:             'rfc2131.c:2789,20'
          Dst:             in_list
        - Src:             'rfc2131.c:2790,50'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2790,2'
          Dst:             option_put
        - Src:             'rfc2131.c:2795,5'
          Dst:             option_find2
        - Src:             'rfc2131.c:2796,20'
          Dst:             in_list
        - Src:             'rfc2131.c:2797,56'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2797,6'
          Dst:             option_put
        - Src:             'rfc2131.c:2802,4'
          Dst:             in_list
        - Src:             'rfc2131.c:2803,5'
          Dst:             option_find2
        - Src:             'rfc2131.c:2804,49'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2804,2'
          Dst:             option_put
        - Src:             'rfc2131.c:2807,4'
          Dst:             in_list
        - Src:             'rfc2131.c:2808,5'
          Dst:             option_find2
        - Src:             'rfc2131.c:2809,52'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2809,2'
          Dst:             option_put
        - Src:             'rfc2131.c:2812,17'
          Dst:             in_list
        - Src:             'rfc2131.c:2813,8'
          Dst:             option_find2
        - Src:             'rfc2131.c:2814,5'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2819,11'
          Dst:             in_list
        - Src:             'rfc2131.c:2820,5'
          Dst:             option_find2
        - Src:             'rfc2131.c:2821,2'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2825,10'
          Dst:             strlen
        - Src:             'rfc2131.c:2833,13'
          Dst:             strlen
        - Src:             'rfc2131.c:2837,13'
          Dst:             free_space
        - Src:             'rfc2131.c:2845,9'
          Dst:             do_rfc1035_name
        - Src:             'rfc2131.c:2848,13'
          Dst:             do_rfc1035_name
        - Src:             'rfc2131.c:2854,25'
          Dst:             strlen
        - Src:             'rfc2131.c:2855,10'
          Dst:             strlen
        - Src:             'rfc2131.c:2859,27'
          Dst:             strlen
        - Src:             'rfc2131.c:2860,14'
          Dst:             strlen
        - Src:             'rfc2131.c:2878,59'
          Dst:             in_list
        - Src:             'rfc2131.c:2914,13'
          Dst:             do_opt
        - Src:             'rfc2131.c:2917,16'
          Dst:             free_space
        - Src:             'rfc2131.c:2919,4'
          Dst:             do_opt
        - Src:             'rfc2131.c:2919,4'
          Dst:             do_opt
        - Src:             'rfc2131.c:2926,8'
          Dst:             match_vendor_opts
        - Src:             'rfc2131.c:2933,3'
          Dst:             handle_encap
        - Src:             'rfc2131.c:2935,17'
          Dst:             prune_vendor_opts
        - Src:             'rfc2131.c:2939,7'
          Dst:             pxe_misc
        - Src:             'rfc2131.c:2940,12'
          Dst:             pxe_uefi_workaround
        - Src:             'rfc2131.c:2941,16'
          Dst:             pxe_opts
        - Src:             'rfc2131.c:2944,23'
          Dst:             in_list
        - Src:             'rfc2131.c:2944,72'
          Dst:             in_list
        - Src:             'rfc2131.c:2945,22'
          Dst:             do_encap_opts
        - Src:             'rfc2131.c:2947,12'
          Dst:             free_space
    - functionName:    match_vendor_opts
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2274
      functionLinenumberEnd: 2308
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         36
      ICount:          151
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - memcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2293,16'
          Dst:             strlen
        - Src:             'rfc2131.c:2295,26'
          Dst:             memcmp
    - functionName:    clear_packet
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2558
      functionLinenumberEnd: 2563
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sanitise
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1886
      functionLinenumberEnd: 1906
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          133
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - __ctype_b_loc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:0,0'
          Dst:             __ctype_b_loc
    - functionName:    extended_hwaddr
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1834
      functionLinenumberEnd: 1857
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          62
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    option_addr
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2025
      functionLinenumberEnd: 2032
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dhcp_reply
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 1822
      functionDepth:   0
      returnType:      size_t
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
        - size_t
        - int
        - int
        - 'N/A'
        - int
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1229
      ICount:          6076
      EdgeCount:       1710
      CyclomaticComplexity: 483
      functionsReached:
        - __bswap_16
        - __bswap_32
        - a_record_from_hosts
        - add_extradata_opt
        - address_allocate
        - address_available
        - apply_delay
        - calc_time
        - clear_packet
        - config_find_by_address
        - config_has_mac
        - dhcp_packet_size
        - difftime
        - do_encap_opts
        - do_icmp_ping
        - do_opt
        - do_options
        - enumerate_interfaces
        - expand_buf
        - extended_hwaddr
        - find_boot
        - find_config
        - free_space
        - get_domain
        - handle_encap
        - host_from_dns
        - hostname_isequal
        - in_list
        - inet_ntop
        - is_pxe_client
        - is_same_net
        - is_same_net_prefix
        - lease4_allocate
        - lease_add_extradata
        - lease_find_by_addr
        - lease_find_by_client
        - lease_prune
        - lease_set_agent_id
        - lease_set_expires
        - lease_set_hostname
        - lease_set_hwaddr
        - lease_set_interface
        - lease_set_vendorclass
        - legal_hostname
        - log_packet
        - log_tags
        - match_bytes
        - match_netid
        - match_vendor_opts
        - memcmp
        - memcmp_masked
        - my_syslog
        - narrow_context
        - option_addr
        - option_filter
        - option_find
        - option_find1
        - option_put
        - option_put_string
        - option_uint
        - prettyprint_time
        - print_mac
        - prune_vendor_opts
        - pxe_misc
        - pxe_opts
        - pxe_uefi_workaround
        - rand16
        - run_tag_if
        - safe_strncpy
        - sanitise
        - server_id
        - snprintf
        - sprintf
        - strchr
        - strcmp
        - strip_hostname
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc2131.c:1065,3'
          Branch Sides:    []
      Callsites:
        - Src:             'rfc2131.c:125,14'
          Dst:             option_find
        - Src:             'rfc2131.c:127,20'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:130,11'
          Dst:             memcmp
        - Src:             'rfc2131.c:133,19'
          Dst:             option_uint
        - Src:             'rfc2131.c:138,18'
          Dst:             option_find
        - Src:             'rfc2131.c:140,26'
          Dst:             option_uint
        - Src:             'rfc2131.c:147,8'
          Dst:             expand_buf
        - Src:             'rfc2131.c:156,12'
          Dst:             option_find
        - Src:             'rfc2131.c:160,18'
          Dst:             option_find
        - Src:             'rfc2131.c:166,15'
          Dst:             option_uint
        - Src:             'rfc2131.c:167,12'
          Dst:             option_uint
        - Src:             'rfc2131.c:171,11'
          Dst:             option_find1
        - Src:             'rfc2131.c:172,14'
          Dst:             option_find1
        - Src:             'rfc2131.c:174,13'
          Dst:             option_find1
        - Src:             'rfc2131.c:189,49'
          Dst:             option_find
        - Src:             'rfc2131.c:198,30'
          Dst:             option_find1
        - Src:             'rfc2131.c:208,16'
          Dst:             option_find1
        - Src:             'rfc2131.c:209,24'
          Dst:             option_uint
        - Src:             'rfc2131.c:212,16'
          Dst:             option_find1
        - Src:             'rfc2131.c:213,20'
          Dst:             option_addr
        - Src:             'rfc2131.c:216,16'
          Dst:             option_find1
        - Src:             'rfc2131.c:217,17'
          Dst:             option_addr
        - Src:             'rfc2131.c:233,20'
          Dst:             option_find1
        - Src:             'rfc2131.c:235,5'
          Dst:             memcmp
        - Src:             'rfc2131.c:244,45'
          Dst:             option_find
        - Src:             'rfc2131.c:245,16'
          Dst:             option_addr
        - Src:             'rfc2131.c:248,51'
          Dst:             option_find
        - Src:             'rfc2131.c:255,15'
          Dst:             lease_find_by_client
        - Src:             'rfc2131.c:266,14'
          Dst:             extended_hwaddr
        - Src:             'rfc2131.c:272,2'
          Dst:             memcmp_masked
        - Src:             'rfc2131.c:311,3'
          Dst:             is_same_net
        - Src:             'rfc2131.c:312,3'
          Dst:             is_same_net
        - Src:             'rfc2131.c:328,9'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:328,56'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:330,61'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:332,61'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:0,0'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:350,4'
          Dst:             is_same_net
        - Src:             'rfc2131.c:351,4'
          Dst:             is_same_net
        - Src:             'rfc2131.c:359,6'
          Dst:             is_same_net
        - Src:             'rfc2131.c:360,6'
          Dst:             is_same_net
        - Src:             'rfc2131.c:396,8'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:402,3'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:404,3'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:406,4'
          Dst:             my_syslog
        - Src:             'rfc2131.c:416,8'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:0,0'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:0,0'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:0,0'
          Dst:             my_syslog
        - Src:             'rfc2131.c:444,16'
          Dst:             option_find
        - Src:             'rfc2131.c:449,14'
          Dst:             option_uint
        - Src:             'rfc2131.c:452,6'
          Dst:             option_uint
        - Src:             'rfc2131.c:455,14'
          Dst:             option_uint
        - Src:             'rfc2131.c:457,13'
          Dst:             match_bytes
        - Src:             'rfc2131.c:466,16'
          Dst:             option_find
        - Src:             'rfc2131.c:469,12'
          Dst:             match_bytes
        - Src:             'rfc2131.c:490,14'
          Dst:             option_find
        - Src:             'rfc2131.c:514,18'
          Dst:             option_find
        - Src:             'rfc2131.c:518,10'
          Dst:             memcmp
        - Src:             'rfc2131.c:529,14'
          Dst:             option_find
        - Src:             'rfc2131.c:534,3'
          Dst:             match_vendor_opts
        - Src:             'rfc2131.c:538,11'
          Dst:             sanitise
        - Src:             'rfc2131.c:539,58'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:539,2'
          Dst:             my_syslog
        - Src:             'rfc2131.c:540,20'
          Dst:             option_find
        - Src:             'rfc2131.c:540,11'
          Dst:             sanitise
        - Src:             'rfc2131.c:541,56'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:541,2'
          Dst:             my_syslog
        - Src:             'rfc2131.c:547,55'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:546,12'
          Dst:             find_config
        - Src:             'rfc2131.c:557,55'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:556,12'
          Dst:             find_config
        - Src:             'rfc2131.c:612,21'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:615,6'
          Dst:             match_netid
        - Src:             'rfc2131.c:627,21'
          Dst:             lease_find_by_addr
        - Src:             'rfc2131.c:630,6'
          Dst:             memcmp
        - Src:             'rfc2131.c:635,22'
          Dst:             lease_find_by_client
        - Src:             'rfc2131.c:636,6'
          Dst:             address_available
        - Src:             'rfc2131.c:641,10'
          Dst:             lease_prune
        - Src:             'rfc2131.c:644,11'
          Dst:             address_allocate
        - Src:             'rfc2131.c:651,32'
          Dst:             narrow_context
        - Src:             'rfc2131.c:656,22'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:659,26'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:659,4'
          Dst:             log_tags
        - Src:             'rfc2131.c:664,27'
          Dst:             match_netid
        - Src:             'rfc2131.c:672,19'
          Dst:             lease4_allocate
        - Src:             'rfc2131.c:679,8'
          Dst:             lease_set_hwaddr
        - Src:             'rfc2131.c:681,42'
          Dst:             get_domain
        - Src:             'rfc2131.c:681,3'
          Dst:             lease_set_hostname
        - Src:             'rfc2131.c:683,8'
          Dst:             lease_set_expires
        - Src:             'rfc2131.c:686,8'
          Dst:             lease_set_interface
        - Src:             'rfc2131.c:688,8'
          Dst:             clear_packet
        - Src:             'rfc2131.c:689,55'
          Dst:             get_domain
        - Src:             'rfc2131.c:689,8'
          Dst:             do_options
        - Src:             'rfc2131.c:695,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:697,28'
          Dst:             dhcp_packet_size
        - Src:             'rfc2131.c:700,14'
          Dst:             option_find
        - Src:             'rfc2131.c:750,11'
          Dst:             legal_hostname
        - Src:             'rfc2131.c:753,19'
          Dst:             option_find
        - Src:             'rfc2131.c:764,11'
          Dst:             legal_hostname
        - Src:             'rfc2131.c:771,19'
          Dst:             strlen
        - Src:             'rfc2131.c:774,66'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:774,2'
          Dst:             my_syslog
        - Src:             'rfc2131.c:777,16'
          Dst:             strlen
        - Src:             'rfc2131.c:788,8'
          Dst:             hostname_isequal
        - Src:             'rfc2131.c:788,8'
          Dst:             hostname_isequal
        - Src:             'rfc2131.c:806,50'
          Dst:             hostname_isequal
        - Src:             'rfc2131.c:811,16'
          Dst:             strip_hostname
        - Src:             'rfc2131.c:824,34'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:822,34'
          Dst:             find_config
        - Src:             'rfc2131.c:848,17'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:852,9'
          Dst:             match_netid
        - Src:             'rfc2131.c:880,7'
          Dst:             is_pxe_client
        - Src:             'rfc2131.c:882,18'
          Dst:             option_find
        - Src:             'rfc2131.c:890,11'
          Dst:             option_find
        - Src:             'rfc2131.c:891,11'
          Dst:             option_find1
        - Src:             'rfc2131.c:894,15'
          Dst:             option_uint
        - Src:             'rfc2131.c:895,16'
          Dst:             option_uint
        - Src:             'rfc2131.c:904,8'
          Dst:             my_syslog
        - Src:             'rfc2131.c:915,10'
          Dst:             match_netid
        - Src:             'rfc2131.c:916,3'
          Dst:             is_same_net
        - Src:             'rfc2131.c:922,4'
          Dst:             clear_packet
        - Src:             'rfc2131.c:927,21'
          Dst:             a_record_from_hosts
        - Src:             'rfc2131.c:933,8'
          Dst:             strchr
        - Src:             'rfc2131.c:934,6'
          Dst:             snprintf
        - Src:             'rfc2131.c:937,6'
          Dst:             snprintf
        - Src:             'rfc2131.c:940,4'
          Dst:             option_put
        - Src:             'rfc2131.c:941,62'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:941,4'
          Dst:             option_put
        - Src:             'rfc2131.c:942,4'
          Dst:             pxe_misc
        - Src:             'rfc2131.c:944,4'
          Dst:             prune_vendor_opts
        - Src:             'rfc2131.c:951,4'
          Dst:             do_encap_opts
        - Src:             'rfc2131.c:954,4'
          Dst:             log_packet
        - Src:             'rfc2131.c:955,26'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:955,4'
          Dst:             log_tags
        - Src:             'rfc2131.c:956,11'
          Dst:             dhcp_packet_size
        - Src:             'rfc2131.c:959,18'
          Dst:             option_find
        - Src:             'rfc2131.c:961,14'
          Dst:             option_uint
        - Src:             'rfc2131.c:971,7'
          Dst:             match_netid
        - Src:             'rfc2131.c:981,19'
          Dst:             option_filter
        - Src:             'rfc2131.c:982,12'
          Dst:             find_boot
        - Src:             'rfc2131.c:988,24'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:991,5'
          Dst:             clear_packet
        - Src:             'rfc2131.c:1002,18'
          Dst:             pxe_uefi_workaround
        - Src:             'rfc2131.c:1011,19'
          Dst:             a_record_from_hosts
        - Src:             'rfc2131.c:1014,4'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:1017,5'
          Dst:             option_put
        - Src:             'rfc2131.c:1019,63'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1019,5'
          Dst:             option_put
        - Src:             'rfc2131.c:1020,5'
          Dst:             pxe_misc
        - Src:             'rfc2131.c:1021,5'
          Dst:             prune_vendor_opts
        - Src:             'rfc2131.c:1023,21'
          Dst:             pxe_opts
        - Src:             'rfc2131.c:1023,7'
          Dst:             do_encap_opts
        - Src:             'rfc2131.c:1034,15'
          Dst:             do_opt
        - Src:             'rfc2131.c:1036,18'
          Dst:             free_space
        - Src:             'rfc2131.c:1037,4'
          Dst:             do_opt
        - Src:             'rfc2131.c:1040,5'
          Dst:             handle_encap
        - Src:             'rfc2131.c:1043,5'
          Dst:             log_packet
        - Src:             'rfc2131.c:1044,27'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1044,5'
          Dst:             log_tags
        - Src:             'rfc2131.c:1046,7'
          Dst:             apply_delay
        - Src:             'rfc2131.c:1047,25'
          Dst:             dhcp_packet_size
        - Src:             'rfc2131.c:1058,14'
          Dst:             option_find
        - Src:             'rfc2131.c:1076,7'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:1083,26'
          Dst:             is_same_net_prefix
        - Src:             'rfc2131.c:1088,8'
          Dst:             my_syslog
        - Src:             'rfc2131.c:1094,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:1103,14'
          Dst:             lease_find_by_addr
        - Src:             'rfc2131.c:1104,4'
          Dst:             address_available
        - Src:             'rfc2131.c:1130,17'
          Dst:             option_find1
        - Src:             'rfc2131.c:1132,9'
          Dst:             memcmp
        - Src:             'rfc2131.c:1139,22'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:1143,19'
          Dst:             narrow_context
        - Src:             'rfc2131.c:1145,22'
          Dst:             find_config
        - Src:             'rfc2131.c:1156,19'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:1162,19'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:1165,30'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1165,8'
          Dst:             log_tags
        - Src:             'rfc2131.c:1166,15'
          Dst:             extended_hwaddr
        - Src:             'rfc2131.c:1172,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:1177,7'
          Dst:             clear_packet
        - Src:             'rfc2131.c:1178,7'
          Dst:             option_put
        - Src:             'rfc2131.c:1195,23'
          Dst:             in_list
        - Src:             'rfc2131.c:1196,13'
          Dst:             free_space
        - Src:             'rfc2131.c:1199,8'
          Dst:             in_list
        - Src:             'rfc2131.c:0,0'
          Dst:             option_put
        - Src:             'rfc2131.c:1209,15'
          Dst:             calc_time
        - Src:             'rfc2131.c:1211,12'
          Dst:             in_list
        - Src:             'rfc2131.c:1212,3'
          Dst:             option_put
        - Src:             'rfc2131.c:1213,12'
          Dst:             in_list
        - Src:             'rfc2131.c:1214,3'
          Dst:             option_put
        - Src:             'rfc2131.c:1215,12'
          Dst:             in_list
        - Src:             'rfc2131.c:1216,3'
          Dst:             option_put
        - Src:             'rfc2131.c:1226,65'
          Dst:             get_domain
        - Src:             'rfc2131.c:1226,4'
          Dst:             do_options
        - Src:             'rfc2131.c:1230,27'
          Dst:             in_list
        - Src:             'rfc2131.c:1231,13'
          Dst:             free_space
        - Src:             'rfc2131.c:1235,14'
          Dst:             dhcp_packet_size
        - Src:             'rfc2131.c:1238,19'
          Dst:             option_find
        - Src:             'rfc2131.c:1239,4'
          Dst:             option_addr
        - Src:             'rfc2131.c:1239,31'
          Dst:             server_id
        - Src:             'rfc2131.c:1243,16'
          Dst:             option_find
        - Src:             'rfc2131.c:1243,7'
          Dst:             sanitise
        - Src:             'rfc2131.c:1245,19'
          Dst:             option_find
        - Src:             'rfc2131.c:1249,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:1251,42'
          Dst:             option_addr
        - Src:             'rfc2131.c:1252,2'
          Dst:             lease_prune
        - Src:             'rfc2131.c:1255,27'
          Dst:             option_addr
        - Src:             'rfc2131.c:1257,4'
          Dst:             prettyprint_time
        - Src:             'rfc2131.c:1258,4'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:1259,4'
          Dst:             my_syslog
        - Src:             'rfc2131.c:1272,23'
          Dst:             narrow_context
        - Src:             'rfc2131.c:1273,12'
          Dst:             option_find
        - Src:             'rfc2131.c:1274,4'
          Dst:             option_addr
        - Src:             'rfc2131.c:1274,31'
          Dst:             server_id
        - Src:             'rfc2131.c:1278,2'
          Dst:             lease_prune
        - Src:             'rfc2131.c:1283,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:1301,15'
          Dst:             option_find
        - Src:             'rfc2131.c:1302,13'
          Dst:             option_addr
        - Src:             'rfc2131.c:1306,8'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:1308,20'
          Dst:             lease_find_by_addr
        - Src:             'rfc2131.c:1310,6'
          Dst:             config_has_mac
        - Src:             'rfc2131.c:1313,26'
          Dst:             extended_hwaddr
        - Src:             'rfc2131.c:1316,26'
          Dst:             print_mac
        - Src:             'rfc2131.c:1315,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:1325,7'
          Dst:             my_syslog
        - Src:             'rfc2131.c:1327,7'
          Dst:             difftime
        - Src:             'rfc2131.c:1328,7'
          Dst:             my_syslog
        - Src:             'rfc2131.c:1337,6'
          Dst:             address_available
        - Src:             'rfc2131.c:1338,7'
          Dst:             config_find_by_address
        - Src:             'rfc2131.c:1340,20'
          Dst:             address_available
        - Src:             'rfc2131.c:1340,70'
          Dst:             lease_find_by_addr
        - Src:             'rfc2131.c:1341,7'
          Dst:             config_find_by_address
        - Src:             'rfc2131.c:1341,58'
          Dst:             do_icmp_ping
        - Src:             'rfc2131.c:1345,14'
          Dst:             address_allocate
        - Src:             'rfc2131.c:1350,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:1352,34'
          Dst:             narrow_context
        - Src:             'rfc2131.c:1358,18'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:1361,7'
          Dst:             apply_delay
        - Src:             'rfc2131.c:1363,44'
          Dst:             option_find
        - Src:             'rfc2131.c:1369,8'
          Dst:             lease_prune
        - Src:             'rfc2131.c:1375,29'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1375,7'
          Dst:             log_tags
        - Src:             'rfc2131.c:1378,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:1380,41'
          Dst:             option_find
        - Src:             'rfc2131.c:1380,14'
          Dst:             calc_time
        - Src:             'rfc2131.c:1381,7'
          Dst:             clear_packet
        - Src:             'rfc2131.c:1382,7'
          Dst:             option_put
        - Src:             'rfc2131.c:1383,65'
          Dst:             server_id
        - Src:             'rfc2131.c:1383,65'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1383,7'
          Dst:             option_put
        - Src:             'rfc2131.c:1384,7'
          Dst:             option_put
        - Src:             'rfc2131.c:1386,67'
          Dst:             get_domain
        - Src:             'rfc2131.c:1386,7'
          Dst:             do_options
        - Src:             'rfc2131.c:1389,14'
          Dst:             dhcp_packet_size
        - Src:             'rfc2131.c:1395,18'
          Dst:             option_find
        - Src:             'rfc2131.c:1398,19'
          Dst:             option_addr
        - Src:             'rfc2131.c:1403,15'
          Dst:             option_find
        - Src:             'rfc2131.c:0,0'
          Dst:             option_addr
        - Src:             'rfc2131.c:1410,9'
          Dst:             option_addr
        - Src:             'rfc2131.c:1426,9'
          Dst:             enumerate_interfaces
        - Src:             'rfc2131.c:1430,41'
          Dst:             option_addr
        - Src:             'rfc2131.c:1451,5'
          Dst:             lease_prune
        - Src:             'rfc2131.c:1486,11'
          Dst:             rand16
        - Src:             'rfc2131.c:1491,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:1504,20'
          Dst:             narrow_context
        - Src:             'rfc2131.c:1513,14'
          Dst:             address_available
        - Src:             'rfc2131.c:1523,7'
          Dst:             difftime
        - Src:             'rfc2131.c:1525,16'
          Dst:             lease_find_by_addr
        - Src:             'rfc2131.c:1529,28'
          Dst:             config_find_by_address
        - Src:             'rfc2131.c:1532,31'
          Dst:             lease_find_by_addr
        - Src:             'rfc2131.c:1536,22'
          Dst:             config_has_mac
        - Src:             'rfc2131.c:1538,5'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:1540,8'
          Dst:             print_mac
        - Src:             'rfc2131.c:1539,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:1555,18'
          Dst:             lease4_allocate
        - Src:             'rfc2131.c:1566,4'
          Dst:             log_packet
        - Src:             'rfc2131.c:1566,4'
          Dst:             log_packet
        - Src:             'rfc2131.c:1573,4'
          Dst:             clear_packet
        - Src:             'rfc2131.c:1574,4'
          Dst:             option_put
        - Src:             'rfc2131.c:1575,62'
          Dst:             server_id
        - Src:             'rfc2131.c:1575,62'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1575,4'
          Dst:             option_put
        - Src:             'rfc2131.c:1576,4'
          Dst:             option_put_string
        - Src:             'rfc2131.c:1580,36'
          Dst:             is_same_net
        - Src:             'rfc2131.c:1582,23'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:1591,22'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:1594,26'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1594,4'
          Dst:             log_tags
        - Src:             'rfc2131.c:1613,30'
          Dst:             option_find
        - Src:             'rfc2131.c:1613,5'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1614,30'
          Dst:             option_find
        - Src:             'rfc2131.c:1614,5'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1615,5'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1616,5'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1617,5'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1619,16'
          Dst:             option_find
        - Src:             'rfc2131.c:1621,34'
          Dst:             option_find1
        - Src:             'rfc2131.c:1621,9'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1622,34'
          Dst:             option_find1
        - Src:             'rfc2131.c:1622,9'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1623,34'
          Dst:             option_find1
        - Src:             'rfc2131.c:1627,9'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1628,9'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:0,0'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1633,16'
          Dst:             option_find
        - Src:             'rfc2131.c:1640,10'
          Dst:             sprintf
        - Src:             'rfc2131.c:1639,4'
          Dst:             lease_add_extradata
        - Src:             'rfc2131.c:1643,7'
          Dst:             lease_add_extradata
        - Src:             'rfc2131.c:1640,10'
          Dst:             sprintf
        - Src:             'rfc2131.c:1639,4'
          Dst:             lease_add_extradata
        - Src:             'rfc2131.c:1645,30'
          Dst:             option_find
        - Src:             'rfc2131.c:1645,5'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1649,7'
          Dst:             add_extradata_opt
        - Src:             'rfc2131.c:1656,10'
          Dst:             strcmp
        - Src:             'rfc2131.c:1659,58'
          Dst:             strlen
        - Src:             'rfc2131.c:1659,6'
          Dst:             lease_add_extradata
        - Src:             'rfc2131.c:1662,16'
          Dst:             option_find
        - Src:             'rfc2131.c:1669,9'
          Dst:             lease_add_extradata
        - Src:             'rfc2131.c:1675,45'
          Dst:             host_from_dns
        - Src:             'rfc2131.c:1677,17'
          Dst:             get_domain
        - Src:             'rfc2131.c:1682,38'
          Dst:             option_find
        - Src:             'rfc2131.c:1682,11'
          Dst:             calc_time
        - Src:             'rfc2131.c:1683,4'
          Dst:             lease_set_hwaddr
        - Src:             'rfc2131.c:1689,27'
          Dst:             match_netid
        - Src:             'rfc2131.c:1699,27'
          Dst:             match_netid
        - Src:             'rfc2131.c:1708,19'
          Dst:             sprintf
        - Src:             'rfc2131.c:1714,57'
          Dst:             get_domain
        - Src:             'rfc2131.c:1714,6'
          Dst:             lease_set_hostname
        - Src:             'rfc2131.c:1716,4'
          Dst:             lease_set_expires
        - Src:             'rfc2131.c:1717,4'
          Dst:             lease_set_interface
        - Src:             'rfc2131.c:1722,3'
          Dst:             lease_set_agent_id
        - Src:             'rfc2131.c:1724,3'
          Dst:             lease_set_vendorclass
        - Src:             'rfc2131.c:1729,8'
          Dst:             lease_set_agent_id
        - Src:             'rfc2131.c:1730,8'
          Dst:             lease_set_vendorclass
        - Src:             'rfc2131.c:1739,4'
          Dst:             log_packet
        - Src:             'rfc2131.c:1741,4'
          Dst:             clear_packet
        - Src:             'rfc2131.c:1742,4'
          Dst:             option_put
        - Src:             'rfc2131.c:1743,62'
          Dst:             server_id
        - Src:             'rfc2131.c:1743,62'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1743,4'
          Dst:             option_put
        - Src:             'rfc2131.c:1744,4'
          Dst:             option_put
        - Src:             'rfc2131.c:1746,7'
          Dst:             option_put
        - Src:             'rfc2131.c:1747,59'
          Dst:             get_domain
        - Src:             'rfc2131.c:1747,5'
          Dst:             do_options
        - Src:             'rfc2131.c:1751,14'
          Dst:             dhcp_packet_size
        - Src:             'rfc2131.c:1758,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:1764,17'
          Dst:             narrow_context
        - Src:             'rfc2131.c:1769,13'
          Dst:             lease_find_by_addr
        - Src:             'rfc2131.c:1774,13'
          Dst:             host_from_dns
        - Src:             'rfc2131.c:1779,18'
          Dst:             run_tag_if
        - Src:             'rfc2131.c:1782,29'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1782,7'
          Dst:             log_tags
        - Src:             'rfc2131.c:1785,7'
          Dst:             log_packet
        - Src:             'rfc2131.c:1789,4'
          Dst:             lease_set_interface
        - Src:             'rfc2131.c:1796,7'
          Dst:             clear_packet
        - Src:             'rfc2131.c:1797,7'
          Dst:             option_put
        - Src:             'rfc2131.c:1798,65'
          Dst:             server_id
        - Src:             'rfc2131.c:1798,65'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1798,7'
          Dst:             option_put
        - Src:             'rfc2131.c:1805,20'
          Dst:             in_list
        - Src:             'rfc2131.c:1810,27'
          Dst:             difftime
        - Src:             'rfc2131.c:1811,4'
          Dst:             option_put
        - Src:             'rfc2131.c:1814,61'
          Dst:             get_domain
        - Src:             'rfc2131.c:1814,7'
          Dst:             do_options
        - Src:             'rfc2131.c:1818,14'
          Dst:             dhcp_packet_size
...
