---
Fuzzer filename: '/src/fuzz_util.cc'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    __gxx_personality_v0
      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:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __clang_call_terminate
      functionSourceFile: ''
      linkageType:     WeakODRLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          3
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - __cxa_begin_catch
      functionUses:    22
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __cxa_begin_catch
      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:    __cxa_allocate_exception
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZNSt20bad_array_new_lengthC1Ev
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZNSt20bad_array_new_lengthD1Ev
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __cxa_throw
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      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:    __cxa_end_catch
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    abort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZNSt12length_errorC2B8ne220000EPKc
      functionSourceFile: '/usr/local/bin/../include/c++/v1/stdexcept'
      linkageType:     WeakODRLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _ZNSt11logic_errorC2EPKc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '/usr/local/bin/../include/c++/v1/stdexcept:154,66'
          Dst:             _ZNSt11logic_errorC2EPKc
    - functionName:    _ZNSt12length_errorD1Ev
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __cxa_free_exception
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZNSt11logic_errorC2EPKc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1B8ne220000EOS5_ENKUlRS5_E_clES7_
      functionSourceFile: '/usr/local/bin/../include/c++/v1/string'
      linkageType:     InternalLinkage
      functionLinenumber: 1020
      functionLinenumberEnd: 1023
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_2clEv'
      functionSourceFile: '/src/fuzz_util.cc'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_util.cc:144,40'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:146,16'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
    - functionName:    '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
      functionSourceFile: '/src/fuzz_util.cc'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_util.cc:29,15'
          Dst:             calloc
    - functionName:    '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
      functionSourceFile: '/src/fuzz_util.cc'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    calloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEE
      functionSourceFile: '/src/fuzz_util.cc'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          648
      EdgeCount:       90
      CyclomaticComplexity: 30
      functionsReached:
        - '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_2clEv'
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_util.cc:41,29'
          Dst:             calloc
        - Src:             'fuzz_util.cc:49,22'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:52,45'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:54,21'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:55,24'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:56,23'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:57,25'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:58,22'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:63,32'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:65,22'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:66,22'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:68,52'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:76,25'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:81,48'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:83,18'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:88,31'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:92,22'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:93,24'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:101,28'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:103,22'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:104,38'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:110,28'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:112,21'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:113,37'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:118,48'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:120,19'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:125,50'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:133,29'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:151,22'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_2clEv'
        - Src:             'fuzz_util.cc:152,22'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_2clEv'
        - Src:             'fuzz_util.cc:153,23'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_2clEv'
        - Src:             'fuzz_util.cc:154,25'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_2clEv'
        - Src:             'fuzz_util.cc:155,27'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_2clEv'
        - Src:             'fuzz_util.cc:161,38'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:163,15'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:164,16'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:168,49'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:170,15'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:175,30'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:180,28'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:182,23'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:184,32'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:189,30'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:194,28'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:196,24'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:198,33'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_0clEm'
        - Src:             'fuzz_util.cc:204,31'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:205,32'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:206,32'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:211,48'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
        - Src:             'fuzz_util.cc:216,45'
          Dst:             '_ZZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEEENK3$_1clEm'
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/fuzz_util.cc'
      linkageType:     externalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          284
      EdgeCount:       95
      CyclomaticComplexity: 43
      functionsReached:
        - _ZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEE
        - canonicalise
        - free_real
        - hostname_isequal
        - hostname_issubdomain
        - is_name_synthetic
        - legal_hostname
        - parse_hex
        - wildcard_match
        - wildcard_matchn
      functionUses:    0
      BranchProfiles:
        - Branch String:   ''
          Branch Sides:    []
      Callsites:
        - Src:             'fuzz_util.cc:231,14'
          Dst:             _ZL11init_daemonR18FuzzedDataProviderRNSt3__16vectorIPvNS1_9allocatorIS3_EEEERNS2_INS1_12basic_stringIcNS1_11char_traitsIcEENS4_IcEEEENS4_ISC_EEEE
        - Src:             'fuzz_util.cc:242,5'
          Dst:             hostname_isequal
        - Src:             'fuzz_util.cc:244,5'
          Dst:             legal_hostname
        - Src:             'fuzz_util.cc:245,17'
          Dst:             canonicalise
        - Src:             'fuzz_util.cc:247,7'
          Dst:             free_real
        - Src:             'fuzz_util.cc:253,7'
          Dst:             parse_hex
        - Src:             'fuzz_util.cc:254,7'
          Dst:             parse_hex
        - Src:             'fuzz_util.cc:255,7'
          Dst:             free_real
        - Src:             'fuzz_util.cc:258,5'
          Dst:             wildcard_match
        - Src:             'fuzz_util.cc:260,7'
          Dst:             wildcard_matchn
        - Src:             'fuzz_util.cc:262,7'
          Dst:             wildcard_matchn
        - Src:             'fuzz_util.cc:264,5'
          Dst:             hostname_issubdomain
        - Src:             'fuzz_util.cc:268,5'
          Dst:             is_name_synthetic
        - Src:             'fuzz_util.cc:273,5'
          Dst:             free_real
        - Src:             'fuzz_util.cc:275,3'
          Dst:             free_real
    - functionName:    do_tcp_connection
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2012
      functionLinenumberEnd: 2238
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         89
      ICount:          575
      EdgeCount:       118
      CyclomaticComplexity: 31
      functionsReached:
        - __errno_location
        - _exit
        - accept
        - alarm
        - close
        - edns0_needs_mac
        - enumerate_interfaces
        - fcntl64
        - flush_log
        - fork
        - free_real
        - getsockname
        - iface_check
        - indextoname
        - loopback_exception
        - pipe
        - read_write
        - retry_send
        - shutdown
        - sockaddr_isequal
        - tcp_interface
        - tcp_request
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:2029,19'
          Dst:             accept
        - Src:             'dnsmasq.c:2029,65'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:2034,7'
          Dst:             getsockname
        - Src:             'dnsmasq.c:2037,7'
          Dst:             shutdown
        - Src:             'dnsmasq.c:2038,7'
          Dst:             close
        - Src:             'dnsmasq.c:2053,3'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:2070,23'
          Dst:             tcp_interface
        - Src:             'dnsmasq.c:2071,4'
          Dst:             indextoname
        - Src:             'dnsmasq.c:2082,9'
          Dst:             iface_check
        - Src:             'dnsmasq.c:2083,9'
          Dst:             loopback_exception
        - Src:             'dnsmasq.c:2090,6'
          Dst:             sockaddr_isequal
        - Src:             'dnsmasq.c:2124,7'
          Dst:             edns0_needs_mac
        - Src:             'dnsmasq.c:2126,11'
          Dst:             pipe
        - Src:             'dnsmasq.c:2129,16'
          Dst:             fork
        - Src:             'dnsmasq.c:2132,4'
          Dst:             close
        - Src:             'dnsmasq.c:2133,4'
          Dst:             close
        - Src:             'dnsmasq.c:2140,4'
          Dst:             close
        - Src:             'dnsmasq.c:2153,4'
          Dst:             read_write
        - Src:             'dnsmasq.c:2161,4'
          Dst:             close
        - Src:             'dnsmasq.c:2181,7'
          Dst:             close
        - Src:             'dnsmasq.c:2193,6'
          Dst:             close
        - Src:             'dnsmasq.c:2195,6'
          Dst:             close
        - Src:             'dnsmasq.c:2197,6'
          Dst:             close
        - Src:             'dnsmasq.c:2201,7'
          Dst:             read_write
        - Src:             'dnsmasq.c:2205,7'
          Dst:             alarm
        - Src:             'dnsmasq.c:2206,7'
          Dst:             close
        - Src:             'dnsmasq.c:2214,16'
          Dst:             fcntl64
        - Src:             'dnsmasq.c:2215,22'
          Dst:             fcntl64
        - Src:             'dnsmasq.c:2215,11'
          Dst:             retry_send
        - Src:             'dnsmasq.c:2217,3'
          Dst:             tcp_request
        - Src:             'dnsmasq.c:2218,3'
          Dst:             free_real
        - Src:             'dnsmasq.c:2223,2'
          Dst:             shutdown
        - Src:             'dnsmasq.c:2224,2'
          Dst:             close
        - Src:             'dnsmasq.c:2234,7'
          Dst:             close
        - Src:             'dnsmasq.c:2235,7'
          Dst:             flush_log
        - Src:             'dnsmasq.c:2236,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:    96
      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:    57
      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:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    delay_dhcp
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2466
      functionLinenumberEnd: 2547
      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:2487,14'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:2488,9'
          Dst:             difftime
        - Src:             'dnsmasq.c:2490,7'
          Dst:             poll_reset
        - Src:             'dnsmasq.c:2492,9'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:2494,2'
          Dst:             set_dns_listeners
        - Src:             'dnsmasq.c:2496,7'
          Dst:             set_tftp_listeners
        - Src:             'dnsmasq.c:2498,7'
          Dst:             set_log_writer
        - Src:             'dnsmasq.c:2502,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:2505,12'
          Dst:             do_poll
        - Src:             'dnsmasq.c:2512,13'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:2514,7'
          Dst:             check_log_writer
        - Src:             'dnsmasq.c:2516,2'
          Dst:             check_dns_listeners
        - Src:             'dnsmasq.c:2519,31'
          Dst:             poll_check
        - Src:             'dnsmasq.c:2520,2'
          Dst:             icmp6_packet
        - Src:             'dnsmasq.c:2524,7'
          Dst:             check_tftp_listeners
        - Src:             'dnsmasq.c:2536,15'
          Dst:             poll_check
        - Src:             'dnsmasq.c:2537,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: 1887
      functionLinenumberEnd: 1926
      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:1894,5'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1898,7'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1902,5'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1912,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1919,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1925,2'
          Dst:             poll_listen
    - functionName:    set_tftp_listeners
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1867
      functionLinenumberEnd: 1883
      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:1876,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1882,7'
          Dst:             poll_listen
    - functionName:    check_dns_listeners
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1929
      functionLinenumberEnd: 2009
      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:1943,4'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1952,9'
          Dst:             cache_recv_insert
        - Src:             'dnsmasq.c:1954,8'
          Dst:             close
        - Src:             'dnsmasq.c:1964,9'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1966,2'
          Dst:             reply_query
        - Src:             'dnsmasq.c:1972,2'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1974,2'
          Dst:             reply_query
        - Src:             'dnsmasq.c:1980,9'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1982,2'
          Dst:             reply_query
        - Src:             'dnsmasq.c:1987,31'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1989,2'
          Dst:             receive_query
        - Src:             'dnsmasq.c:2004,36'
          Dst:             poll_check
        - Src:             'dnsmasq.c:2006,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: 2412
      functionLinenumberEnd: 2463
      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:2421,23'
          Dst:             rand16
        - Src:             'dnsmasq.c:2426,13'
          Dst:             make_icmp_sock
        - Src:             'dnsmasq.c:2450,21'
          Dst:             sendto
        - Src:             'dnsmasq.c:2450,10'
          Dst:             retry_send
        - Src:             'dnsmasq.c:2453,25'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:2453,14'
          Dst:             delay_dhcp
        - Src:             'dnsmasq.c:2456,3'
          Dst:             close
    - functionName:    make_icmp_sock
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2394
      functionLinenumberEnd: 2408
      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:2398,13'
          Dst:             socket
        - Src:             'dnsmasq.c:2400,12'
          Dst:             fix_fd
        - Src:             'dnsmasq.c:2401,4'
          Dst:             setsockopt
        - Src:             'dnsmasq.c:2403,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: 1839
      functionLinenumberEnd: 1863
      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:1843,5'
          Dst:             cache_reload
        - Src:             'dnsmasq.c:1848,7'
          Dst:             reread_dhcp
        - Src:             'dnsmasq.c:1850,2'
          Dst:             dhcp_read_ethers
        - Src:             'dnsmasq.c:1851,7'
          Dst:             dhcp_update_configs
        - Src:             'dnsmasq.c:1852,7'
          Dst:             lease_update_from_configs
        - Src:             'dnsmasq.c:1853,7'
          Dst:             lease_update_file
        - Src:             'dnsmasq.c:1854,7'
          Dst:             lease_update_dns
        - Src:             'dnsmasq.c:1860,16'
          Dst:             periodic_ra
        - Src:             'dnsmasq.c:1860,5'
          Dst:             send_alarm
    - functionName:    send_alarm
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1425
      functionLinenumberEnd: 1434
      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:1429,24'
          Dst:             difftime
        - Src:             'dnsmasq.c:1430,2'
          Dst:             send_event
        - Src:             'dnsmasq.c:1432,18'
          Dst:             difftime
        - Src:             'dnsmasq.c:1432,2'
          Dst:             alarm
    - functionName:    send_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1442
      functionLinenumberEnd: 1462
      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:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1448,21'
          Dst:             strlen
        - Src:             'dnsmasq.c:1457,5'
          Dst:             fatal_event
        - Src:             'dnsmasq.c:1461,12'
          Dst:             writev
        - Src:             'dnsmasq.c:1461,50'
          Dst:             __errno_location
    - 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:    185
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fatal_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1495
      functionLinenumberEnd: 1562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          120
      EdgeCount:       23
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - die
        - exit
      functionUses:    3
      BranchProfiles:
        - Branch String:   'dnsmasq.c:1498,3'
          Branch Sides:    []
      Callsites:
        - Src:             'dnsmasq.c:1496,3'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:1501,7'
          Dst:             exit
        - Src:             'dnsmasq.c:1504,7'
          Dst:             die
        - Src:             'dnsmasq.c:1508,7'
          Dst:             die
        - Src:             'dnsmasq.c:1512,7'
          Dst:             die
        - Src:             'dnsmasq.c:1516,7'
          Dst:             die
        - Src:             'dnsmasq.c:1520,7'
          Dst:             die
        - Src:             'dnsmasq.c:1524,7'
          Dst:             die
        - Src:             'dnsmasq.c:1528,7'
          Dst:             die
        - Src:             'dnsmasq.c:1532,7'
          Dst:             die
        - Src:             'dnsmasq.c:1536,7'
          Dst:             die
        - Src:             'dnsmasq.c:1540,7'
          Dst:             die
        - Src:             'dnsmasq.c:1544,7'
          Dst:             die
        - Src:             'dnsmasq.c:1548,7'
          Dst:             die
        - Src:             'dnsmasq.c:1552,7'
          Dst:             die
        - Src:             'dnsmasq.c:1556,7'
          Dst:             die
        - Src:             'dnsmasq.c:1560,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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    queue_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1437
      functionLinenumberEnd: 1439
      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:1438,3'
          Dst:             send_event
    - functionName:    async_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1565
      functionLinenumberEnd: 1760
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         122
      ICount:          623
      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
        - free_real
        - 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:1572,5'
          Branch Sides:    []
      Callsites:
        - Src:             'dnsmasq.c:1571,7'
          Dst:             read_event
        - Src:             'dnsmasq.c:1580,2'
          Dst:             clear_cache_and_reload
        - Src:             'dnsmasq.c:1586,3'
          Dst:             reload_servers
        - Src:             'dnsmasq.c:1592,3'
          Dst:             read_servers_file
        - Src:             'dnsmasq.c:1597,8'
          Dst:             check_servers
        - Src:             'dnsmasq.c:1601,2'
          Dst:             rerun_scripts
        - Src:             'dnsmasq.c:1607,4'
          Dst:             dump_cache
        - Src:             'dnsmasq.c:1614,6'
          Dst:             lease_prune
        - Src:             'dnsmasq.c:1615,6'
          Dst:             lease_update_file
        - Src:             'dnsmasq.c:1616,6'
          Dst:             lease_update_dns
        - Src:             'dnsmasq.c:1621,17'
          Dst:             periodic_ra
        - Src:             'dnsmasq.c:1621,6'
          Dst:             send_alarm
        - Src:             'dnsmasq.c:1628,14'
          Dst:             waitpid
        - Src:             'dnsmasq.c:1631,12'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:1645,9'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1648,6'
          Dst:             close
        - Src:             'dnsmasq.c:1661,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1665,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1670,35'
          Dst:             strerror
        - Src:             'dnsmasq.c:1669,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1674,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1675,9'
          Dst:             free_real
        - Src:             'dnsmasq.c:1682,2'
          Dst:             fatal_event
        - Src:             'dnsmasq.c:1691,4'
          Dst:             log_reopen
        - Src:             'dnsmasq.c:1695,2'
          Dst:             newaddress
        - Src:             'dnsmasq.c:1699,2'
          Dst:             resend_query
        - Src:             'dnsmasq.c:1701,2'
          Dst:             poll_resolv
        - Src:             'dnsmasq.c:1720,8'
          Dst:             kill
        - Src:             'dnsmasq.c:1727,15'
          Dst:             fcntl64
        - Src:             'dnsmasq.c:1728,25'
          Dst:             fcntl64
        - Src:             'dnsmasq.c:1728,14'
          Dst:             retry_send
        - Src:             'dnsmasq.c:1730,8'
          Dst:             helper_write
        - Src:             'dnsmasq.c:1731,16'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1731,38'
          Dst:             do_script_run
        - Src:             'dnsmasq.c:1732,6'
          Dst:             close
        - Src:             'dnsmasq.c:1737,4'
          Dst:             fclose
        - Src:             'dnsmasq.c:1749,4'
          Dst:             unlink
        - Src:             'dnsmasq.c:1753,4'
          Dst:             close
        - Src:             'dnsmasq.c:1756,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1757,2'
          Dst:             flush_log
        - Src:             'dnsmasq.c:1758,2'
          Dst:             exit
    - functionName:    read_event
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1465
      functionLinenumberEnd: 1492
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          108
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - read_write
        - whine_malloc_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1468,8'
          Dst:             read_write
        - Src:             'dnsmasq.c:1475,19'
          Dst:             whine_malloc_real
        - Src:             'dnsmasq.c:1482,6'
          Dst:             read_write
        - Src:             'dnsmasq.c:1484,16'
          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: 1763
      functionLinenumberEnd: 1836
      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:1775,9'
          Dst:             stat64
        - Src:             'dnsmasq.c:1784,77'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:1784,68'
          Dst:             strerror
        - Src:             'dnsmasq.c:1784,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1791,6'
          Dst:             poll_resolv
        - Src:             'dnsmasq.c:1802,10'
          Dst:             difftime
        - Src:             'dnsmasq.c:1813,11'
          Dst:             reload_servers
        - Src:             'dnsmasq.c:1815,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1817,4'
          Dst:             check_servers
        - Src:             'dnsmasq.c:1819,6'
          Dst:             clear_cache_and_reload
        - Src:             'dnsmasq.c:1827,4'
          Dst:             build_server_array
        - Src:             'dnsmasq.c:1831,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: 1346
      functionLinenumberEnd: 1421
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          158
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - _exit
        - exit
        - send_event
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsmasq.c:1352,2'
          Dst:             exit
        - Src:             'dnsmasq.c:1362,6'
          Dst:             _exit
        - Src:             'dnsmasq.c:1392,28'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:1411,6'
          Dst:             exit
        - Src:             'dnsmasq.c:1418,7'
          Dst:             send_event
        - Src:             'dnsmasq.c:1419,7'
          Dst:             __errno_location
    - functionName:    main2
      functionSourceFile: '/src/dnsmasq/src/dnsmasq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 1338
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         682
      ICount:          3739
      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
        - free_real
        - 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:133,25'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:161,5'
          Dst:             open64
        - Src:             'dnsmasq.c:164,3'
          Dst:             close_fds
        - Src:             'dnsmasq.c:206,7'
          Dst:             die
        - Src:             'dnsmasq.c:225,5'
          Dst:             die
        - Src:             'dnsmasq.c:250,5'
          Dst:             die
        - Src:             'dnsmasq.c:261,5'
          Dst:             die
        - Src:             'dnsmasq.c:265,5'
          Dst:             die
        - Src:             'dnsmasq.c:267,9'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:272,2'
          Dst:             die
        - Src:             'dnsmasq.c:313,7'
          Dst:             dhcp_common_init
        - Src:             'dnsmasq.c:315,2'
          Dst:             lease_init
        - Src:             'dnsmasq.c:320,7'
          Dst:             dhcp_init
        - Src:             'dnsmasq.c:334,7'
          Dst:             ra_init
        - Src:             'dnsmasq.c:342,5'
          Dst:             dhcp6_init
        - Src:             'dnsmasq.c:350,7'
          Dst:             ipset_init
        - Src:             'dnsmasq.c:368,18'
          Dst:             netlink_init
        - Src:             'dnsmasq.c:374,5'
          Dst:             die
        - Src:             'dnsmasq.c:376,8'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:376,36'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:377,5'
          Dst:             die
        - Src:             'dnsmasq.c:383,3'
          Dst:             lease_calc_fqdns
        - Src:             'dnsmasq.c:388,7'
          Dst:             create_bound_listeners
        - Src:             'dnsmasq.c:393,6'
          Dst:             die
        - Src:             'dnsmasq.c:397,22'
          Dst:             whichdevice
        - Src:             'dnsmasq.c:399,23'
          Dst:             bind_dhcp_devices
        - Src:             'dnsmasq.c:400,2'
          Dst:             die
        - Src:             'dnsmasq.c:404,5'
          Dst:             create_wildcard_listeners
        - Src:             'dnsmasq.c:409,5'
          Dst:             join_multicast
        - Src:             'dnsmasq.c:412,3'
          Dst:             lease_make_duid
        - Src:             'dnsmasq.c:417,7'
          Dst:             cache_init
        - Src:             'dnsmasq.c:418,7'
          Dst:             blockdata_init
        - Src:             'dnsmasq.c:426,29'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:428,26'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:429,27'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:437,5'
          Dst:             dump_init
        - Src:             'dnsmasq.c:452,3'
          Dst:             die
        - Src:             'dnsmasq.c:463,3'
          Dst:             die
        - Src:             'dnsmasq.c:467,5'
          Dst:             pre_allocate_sfds
        - Src:             'dnsmasq.c:477,21'
          Dst:             getpwnam
        - Src:             'dnsmasq.c:487,38'
          Dst:             getpwnam
        - Src:             'dnsmasq.c:489,40'
          Dst:             getgrnam
        - Src:             'dnsmasq.c:493,5'
          Dst:             die
        - Src:             'dnsmasq.c:498,18'
          Dst:             getgrnam
        - Src:             'dnsmasq.c:499,7'
          Dst:             getgrgid
        - Src:             'dnsmasq.c:511,8'
          Dst:             is_dad_listeners
        - Src:             'dnsmasq.c:544,9'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:548,3'
          Dst:             capget
        - Src:             'dnsmasq.c:558,10'
          Dst:             safe_malloc
        - Src:             'dnsmasq.c:559,3'
          Dst:             capget
        - Src:             'dnsmasq.c:571,5'
          Dst:             die
        - Src:             'dnsmasq.c:588,3'
          Dst:             safe_pipe
        - Src:             'dnsmasq.c:593,3'
          Dst:             send_event
        - Src:             'dnsmasq.c:602,11'
          Dst:             chdir
        - Src:             'dnsmasq.c:603,2'
          Dst:             die
        - Src:             'dnsmasq.c:611,4'
          Dst:             safe_pipe
        - Src:             'dnsmasq.c:613,15'
          Dst:             fork
        - Src:             'dnsmasq.c:615,37'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:615,6'
          Dst:             send_event
        - Src:             'dnsmasq.c:623,8'
          Dst:             close
        - Src:             'dnsmasq.c:626,12'
          Dst:             read_event
        - Src:             'dnsmasq.c:627,3'
          Dst:             fatal_event
        - Src:             'dnsmasq.c:629,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:632,4'
          Dst:             close
        - Src:             'dnsmasq.c:636,4'
          Dst:             setsid
        - Src:             'dnsmasq.c:638,15'
          Dst:             fork
        - Src:             'dnsmasq.c:639,46'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:639,6'
          Dst:             send_event
        - Src:             'dnsmasq.c:642,6'
          Dst:             _exit
        - Src:             'dnsmasq.c:650,44'
          Dst:             getpid
        - Src:             'dnsmasq.c:650,4'
          Dst:             sprintf
        - Src:             'dnsmasq.c:671,4'
          Dst:             unlink
        - Src:             'dnsmasq.c:673,14'
          Dst:             open64
        - Src:             'dnsmasq.c:676,12'
          Dst:             getuid
        - Src:             'dnsmasq.c:687,12'
          Dst:             getuid
        - Src:             'dnsmasq.c:687,62'
          Dst:             fchown
        - Src:             'dnsmasq.c:688,16'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:690,63'
          Dst:             strlen
        - Src:             'dnsmasq.c:690,13'
          Dst:             read_write
        - Src:             'dnsmasq.c:694,9'
          Dst:             close
        - Src:             'dnsmasq.c:701,47'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:701,8'
          Dst:             send_event
        - Src:             'dnsmasq.c:702,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:707,14'
          Dst:             log_start
        - Src:             'dnsmasq.c:712,21'
          Dst:             open64
        - Src:             'dnsmasq.c:715,5'
          Dst:             dup2
        - Src:             'dnsmasq.c:716,5'
          Dst:             dup2
        - Src:             'dnsmasq.c:717,5'
          Dst:             dup2
        - Src:             'dnsmasq.c:718,5'
          Dst:             close
        - Src:             'dnsmasq.c:731,26'
          Dst:             create_helper
        - Src:             'dnsmasq.c:734,34'
          Dst:             getuid
        - Src:             'dnsmasq.c:741,5'
          Dst:             setgroups
        - Src:             'dnsmasq.c:742,5'
          Dst:             setgid
        - Src:             'dnsmasq.c:744,45'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:744,4'
          Dst:             send_event
        - Src:             'dnsmasq.c:745,4'
          Dst:             _exit
        - Src:             'dnsmasq.c:755,8'
          Dst:             capset
        - Src:             'dnsmasq.c:755,35'
          Dst:             prctl
        - Src:             'dnsmasq.c:756,25'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:782,8'
          Dst:             send_event
        - Src:             'dnsmasq.c:783,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:787,8'
          Dst:             setuid
        - Src:             'dnsmasq.c:789,48'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:789,8'
          Dst:             send_event
        - Src:             'dnsmasq.c:790,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:798,8'
          Dst:             capset
        - Src:             'dnsmasq.c:800,47'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:800,8'
          Dst:             send_event
        - Src:             'dnsmasq.c:801,8'
          Dst:             _exit
        - Src:             'dnsmasq.c:809,3'
          Dst:             free_real
        - Src:             'dnsmasq.c:810,3'
          Dst:             free_real
        - Src:             'dnsmasq.c:812,5'
          Dst:             prctl
        - Src:             'dnsmasq.c:823,17'
          Dst:             opendir
        - Src:             'dnsmasq.c:828,52'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:828,12'
          Dst:             send_event
        - Src:             'dnsmasq.c:829,12'
          Dst:             _exit
        - Src:             'dnsmasq.c:833,6'
          Dst:             closedir
        - Src:             'dnsmasq.c:839,17'
          Dst:             opendir
        - Src:             'dnsmasq.c:844,45'
          Dst:             __errno_location
        - Src:             'dnsmasq.c:844,5'
          Dst:             send_event
        - Src:             'dnsmasq.c:845,5'
          Dst:             _exit
        - Src:             'dnsmasq.c:849,6'
          Dst:             closedir
        - Src:             'dnsmasq.c:857,5'
          Dst:             inotify_dnsmasq_init
        - Src:             'dnsmasq.c:866,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:871,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:873,6'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:876,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:879,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:881,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:884,3'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:890,9'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:893,82'
          Dst:             strerror
        - Src:             'dnsmasq.c:893,7'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:970,26'
          Dst:             strerror
        - Src:             'dnsmasq.c:969,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:978,5'
          Dst:             warn_bound_listeners
        - Src:             'dnsmasq.c:980,5'
          Dst:             warn_wild_labels
        - Src:             'dnsmasq.c:982,3'
          Dst:             warn_int_names
        - Src:             'dnsmasq.c:987,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:992,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1001,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1006,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1011,5'
          Dst:             log_context
        - Src:             'dnsmasq.c:1014,5'
          Dst:             log_relay
        - Src:             'dnsmasq.c:1018,5'
          Dst:             log_context
        - Src:             'dnsmasq.c:1021,5'
          Dst:             log_relay
        - Src:             'dnsmasq.c:1024,5'
          Dst:             dhcp_construct_contexts
        - Src:             'dnsmasq.c:1027,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1032,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1035,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1040,5'
          Dst:             lease_find_interfaces
        - Src:             'dnsmasq.c:1048,7'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1055,2'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1059,5'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1084,4'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1093,5'
          Dst:             close
        - Src:             'dnsmasq.c:1096,5'
          Dst:             check_servers
        - Src:             'dnsmasq.c:1098,9'
          Dst:             getpid
        - Src:             'dnsmasq.c:1102,3'
          Dst:             poll_resolv
        - Src:             'dnsmasq.c:1107,21'
          Dst:             fast_retry
        - Src:             'dnsmasq.c:1109,7'
          Dst:             poll_reset
        - Src:             'dnsmasq.c:1117,16'
          Dst:             is_dad_listeners
        - Src:             'dnsmasq.c:1122,2'
          Dst:             set_dns_listeners
        - Src:             'dnsmasq.c:1125,7'
          Dst:             set_tftp_listeners
        - Src:             'dnsmasq.c:1140,11'
          Dst:             bind_dhcp_devices
        - Src:             'dnsmasq.c:1145,8'
          Dst:             my_syslog
        - Src:             'dnsmasq.c:1152,4'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1154,6'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1160,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1163,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1168,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1172,7'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1177,7'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1181,14'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1181,36'
          Dst:             do_script_run
        - Src:             'dnsmasq.c:1186,2'
          Dst:             find_mac
        - Src:             'dnsmasq.c:1187,14'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1187,36'
          Dst:             do_arp_script_run
        - Src:             'dnsmasq.c:1190,14'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1190,36'
          Dst:             do_tftp_script_run
        - Src:             'dnsmasq.c:1194,14'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1194,36'
          Dst:             do_snoop_script_run
        - Src:             'dnsmasq.c:1197,12'
          Dst:             helper_buf_empty
        - Src:             'dnsmasq.c:1198,2'
          Dst:             poll_listen
        - Src:             'dnsmasq.c:1216,7'
          Dst:             set_log_writer
        - Src:             'dnsmasq.c:1218,11'
          Dst:             do_poll
        - Src:             'dnsmasq.c:1221,13'
          Dst:             dnsmasq_time
        - Src:             'dnsmasq.c:1223,7'
          Dst:             check_log_writer
        - Src:             'dnsmasq.c:1226,7'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:1230,11'
          Dst:             is_dad_listeners
        - Src:             'dnsmasq.c:1232,4'
          Dst:             enumerate_interfaces
        - Src:             'dnsmasq.c:1234,4'
          Dst:             create_bound_listeners
        - Src:             'dnsmasq.c:1235,4'
          Dst:             warn_bound_listeners
        - Src:             'dnsmasq.c:1239,11'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1240,2'
          Dst:             netlink_multicast
        - Src:             'dnsmasq.c:1247,39'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1247,80'
          Dst:             inotify_check
        - Src:             'dnsmasq.c:1250,6'
          Dst:             poll_resolv
        - Src:             'dnsmasq.c:1267,11'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1268,2'
          Dst:             async_event
        - Src:             'dnsmasq.c:1313,2'
          Dst:             check_dns_listeners
        - Src:             'dnsmasq.c:1316,7'
          Dst:             check_tftp_listeners
        - Src:             'dnsmasq.c:1322,8'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1323,6'
          Dst:             dhcp_packet
        - Src:             'dnsmasq.c:1324,31'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1325,6'
          Dst:             dhcp_packet
        - Src:             'dnsmasq.c:1329,54'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1330,2'
          Dst:             dhcp6_packet
        - Src:             'dnsmasq.c:1332,31'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1333,2'
          Dst:             icmp6_packet
        - Src:             'dnsmasq.c:1337,37'
          Dst:             poll_check
        - Src:             'dnsmasq.c:1338,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:    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:    4
      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:    86
      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: 657
      functionLinenumberEnd: 780
      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
        - free_real
        - hostname_isequal
        - rand32
        - safe_strncpy
        - strlen
        - whine_malloc_real
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:675,20'
          Dst:             whine_malloc_real
        - Src:             'domain-match.c:677,20'
          Dst:             canonicalise
        - Src:             'domain-match.c:693,20'
          Dst:             whine_malloc_real
        - Src:             'domain-match.c:695,4'
          Dst:             free_real
        - Src:             'domain-match.c:722,3'
          Dst:             hostname_isequal
        - Src:             'domain-match.c:740,4'
          Dst:             free_real
        - Src:             'domain-match.c:745,17'
          Dst:             whine_malloc_real
        - Src:             'domain-match.c:762,19'
          Dst:             rand32
        - Src:             'domain-match.c:766,2'
          Dst:             safe_strncpy
        - Src:             'domain-match.c:747,8'
          Dst:             free_real
        - Src:             'domain-match.c:777,22'
          Dst:             strlen
    - functionName:    cleanup_servers
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 649
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - free_real
        - server_gone
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:638,10'
          Dst:             server_gone
        - Src:             'domain-match.c:640,3'
          Dst:             free_real
        - Src:             'domain-match.c:641,3'
          Dst:             free_real
    - functionName:    mark_servers
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 591
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          107
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - free_real
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:620,6'
          Dst:             free_real
        - Src:             'domain-match.c:621,6'
          Dst:             free_real
    - 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: 412
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      size_t
      argCount:        9
      argTypes:
        - int
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          251
      EdgeCount:       60
      CyclomaticComplexity: 17
      functionsReached:
        - __bswap_16
        - add_resource_record
        - log_query
        - setup_reply
        - skip_questions
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:419,3'
          Dst:             setup_reply
        - Src:             'domain-match.c:424,5'
          Dst:             log_query
        - Src:             'domain-match.c:431,8'
          Dst:             log_query
        - Src:             'domain-match.c:434,13'
          Dst:             skip_questions
        - Src:             'domain-match.c:447,6'
          Dst:             add_resource_record
        - Src:             'domain-match.c:449,2'
          Dst:             log_query
        - Src:             'domain-match.c:462,6'
          Dst:             add_resource_record
        - Src:             'domain-match.c:464,2'
          Dst:             log_query
        - Src:             'domain-match.c:470,17'
          Dst:             skip_questions
        - Src:             'domain-match.c:475,21'
          Dst:             __bswap_16
    - functionName:    is_local_answer
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 408
      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:398,23'
          Dst:             order_servers
        - Src:             'domain-match.c:401,8'
          Dst:             check_for_local_domain
    - functionName:    order_servers
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 550
      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:542,13'
          Dst:             order
    - functionName:    order
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 530
      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:529,10'
          Dst:             hostname_order
    - functionName:    server_samegroup
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 281
      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:281,10'
          Dst:             order_servers
    - functionName:    filter_servers
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 376
      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:292,22'
          Dst:             order_servers
        - Src:             'domain-match.c:295,45'
          Dst:             order_servers
    - functionName:    lookup_domain
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 277
      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:121,17'
          Dst:             strchr
        - Src:             'domain-match.c:156,14'
          Dst:             order
        - Src:             'domain-match.c:156,14'
          Dst:             order
        - Src:             'domain-match.c:210,27'
          Dst:             order
        - Src:             'domain-match.c:215,45'
          Dst:             order
        - Src:             'domain-match.c:223,17'
          Dst:             filter_servers
        - Src:             'domain-match.c:262,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: 553
      functionLinenumberEnd: 576
      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:559,8'
          Dst:             order_servers
    - functionName:    build_server_array
      functionSourceFile: '/src/dnsmasq/src/domain-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         68
      ICount:          337
      EdgeCount:       91
      CyclomaticComplexity: 25
      functionsReached:
        - free_real
        - order_qsort
        - qsort
        - whine_malloc_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'domain-match.c:56,18'
          Dst:             whine_malloc_real
        - Src:             'domain-match.c:59,6'
          Dst:             free_real
        - Src:             'domain-match.c:84,5'
          Dst:             qsort
        - Src:             'domain-match.c:84,5'
          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:          257
      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,43'
          Dst:             strlen
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,43'
          Dst:             strlen
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,43'
          Dst:             strlen
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,43'
          Dst:             strlen
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,43'
          Dst:             strlen
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,43'
          Dst:             strlen
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,43'
          Dst:             strlen
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:203,9'
          Dst:             sprintf
        - Src:             'domain.c:204,43'
          Dst:             strlen
        - Src:             'domain.c:204,9'
          Dst:             strncat
        - Src:             'domain.c:0,0'
          Dst:             strlen
        - Src:             'domain.c:0,0'
          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:    15
      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:    23
      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:    25
      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:    calc_data_checksum
      functionSourceFile: '/src/dnsmasq/src/dump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          144
      EdgeCount:       38
      CyclomaticComplexity: 11
      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:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dump_packet_icmp
      functionSourceFile: '/src/dnsmasq/src/dump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 130
      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:129,5'
          Dst:             do_dump_packet
    - functionName:    do_dump_packet
      functionSourceFile: '/src/dnsmasq/src/dump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          533
      EdgeCount:       71
      CyclomaticComplexity: 20
      functionsReached:
        - __bswap_16
        - calc_data_checksum
        - gettimeofday
        - my_syslog
        - read_write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dump.c:173,33'
          Dst:             __bswap_16
        - Src:             'dump.c:0,0'
          Dst:             __bswap_16
        - Src:             'dump.c:212,11'
          Dst:             __bswap_16
        - Src:             'dump.c:213,11'
          Dst:             __bswap_16
        - Src:             'dump.c:212,11'
          Dst:             __bswap_16
        - Src:             'dump.c:213,11'
          Dst:             __bswap_16
        - Src:             'dump.c:212,11'
          Dst:             __bswap_16
        - Src:             'dump.c:213,11'
          Dst:             __bswap_16
        - Src:             'dump.c:212,11'
          Dst:             __bswap_16
        - Src:             'dump.c:213,11'
          Dst:             __bswap_16
        - Src:             'dump.c:212,11'
          Dst:             __bswap_16
        - Src:             'dump.c:213,11'
          Dst:             __bswap_16
        - Src:             'dump.c:212,11'
          Dst:             __bswap_16
        - Src:             'dump.c:213,11'
          Dst:             __bswap_16
        - Src:             'dump.c:212,11'
          Dst:             __bswap_16
        - Src:             'dump.c:213,11'
          Dst:             __bswap_16
        - Src:             'dump.c:212,11'
          Dst:             __bswap_16
        - Src:             'dump.c:213,11'
          Dst:             __bswap_16
        - Src:             'dump.c:227,14'
          Dst:             __bswap_16
        - Src:             'dump.c:230,16'
          Dst:             __bswap_16
        - Src:             'dump.c:247,19'
          Dst:             calc_data_checksum
        - Src:             'dump.c:262,14'
          Dst:             __bswap_16
        - Src:             'dump.c:263,14'
          Dst:             __bswap_16
        - Src:             'dump.c:269,20'
          Dst:             calc_data_checksum
        - Src:             'dump.c:279,14'
          Dst:             __bswap_16
        - Src:             'dump.c:280,14'
          Dst:             __bswap_16
        - Src:             'dump.c:283,27'
          Dst:             calc_data_checksum
        - Src:             'dump.c:289,8'
          Dst:             gettimeofday
        - Src:             'dump.c:294,8'
          Dst:             read_write
        - Src:             'dump.c:295,8'
          Dst:             read_write
        - Src:             'dump.c:296,33'
          Dst:             read_write
        - Src:             'dump.c:297,8'
          Dst:             read_write
        - Src:             'dump.c:298,5'
          Dst:             my_syslog
        - Src:             'dump.c:300,5'
          Dst:             my_syslog
        - Src:             'dump.c:302,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: 97
      functionLinenumberEnd: 123
      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:112,23'
          Dst:             getsockname
        - Src:             'dump.c:121,8'
          Dst:             do_dump_packet
    - functionName:    dump_init
      functionSourceFile: '/src/dnsmasq/src/dump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         32
      ICount:          196
      EdgeCount:       40
      CyclomaticComplexity: 10
      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,8'
          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:    char64
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 258
      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: 262
      functionLinenumberEnd: 267
      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:263,12'
          Dst:             char64
        - Src:             'edns0.c:264,12'
          Dst:             char64
        - Src:             'edns0.c:265,12'
          Dst:             char64
        - Src:             'edns0.c:266,12'
          Dst:             char64
    - functionName:    get_addrp
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 351
      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: 417
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - '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:427,13'
          Dst:             calc_subnet_opt
        - Src:             'edns0.c:438,15'
          Dst:             find_pseudoheader
        - Src:             'edns0.c:439,5'
          Dst:             check_source
        - Src:             'edns0.c:445,10'
          Dst:             add_pseudoheader
    - functionName:    calc_subnet_opt
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 409
      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:371,12'
          Dst:             get_addrp
        - Src:             'edns0.c:384,12'
          Dst:             get_addrp
        - Src:             'edns0.c:391,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: 449
      functionLinenumberEnd: 493
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          151
      EdgeCount:       40
      CyclomaticComplexity: 13
      functionsReached:
        - calc_subnet_opt
        - memcmp
        - skip_name
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:459,16'
          Dst:             calc_subnet_opt
        - Src:             'edns0.c:461,13'
          Dst:             skip_name
        - Src:             'edns0.c:483,32'
          Dst:             memcmp
    - functionName:    add_pseudoheader
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      size_t
      argCount:        8
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - int
        - 'N/A'
        - size_t
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          432
      EdgeCount:       86
      CyclomaticComplexity: 26
      functionsReached:
        - __bswap_16
        - find_pseudoheader
        - free_real
        - rrfilter
        - skip_questions
        - skip_section
        - whine_malloc_real
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:111,7'
          Dst:             find_pseudoheader
        - Src:             'edns0.c:182,30'
          Dst:             whine_malloc_real
        - Src:             'edns0.c:186,4'
          Dst:             rrfilter
        - Src:             'edns0.c:196,17'
          Dst:             skip_questions
        - Src:             'edns0.c:198,9'
          Dst:             __bswap_16
        - Src:             'edns0.c:198,34'
          Dst:             __bswap_16
        - Src:             'edns0.c:198,59'
          Dst:             __bswap_16
        - Src:             'edns0.c:197,10'
          Dst:             skip_section
        - Src:             'edns0.c:202,4'
          Dst:             free_real
        - Src:             'edns0.c:219,13'
          Dst:             free_real
        - Src:             'edns0.c:223,4'
          Dst:             free_real
        - Src:             'edns0.c:229,20'
          Dst:             __bswap_16
        - Src:             'edns0.c:229,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:    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:    add_umbrella_opt
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - '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:538,13'
          Dst:             get_addrp
        - Src:             'edns0.c:554,10'
          Dst:             add_pseudoheader
    - functionName:    add_dns_client
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 312
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          108
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - add_pseudoheader
        - encoder
        - find_mac
        - print_mac
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:290,75'
          Dst:             find_mac
        - Src:             'edns0.c:297,13'
          Dst:             print_mac
        - Src:             'edns0.c:300,5'
          Dst:             encoder
        - Src:             'edns0.c:301,5'
          Dst:             encoder
        - Src:             'edns0.c:309,103'
          Dst:             strlen
        - Src:             'edns0.c:309,12'
          Dst:             add_pseudoheader
    - functionName:    add_mac
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - '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:324,45'
          Dst:             find_mac
        - Src:             'edns0.c:334,12'
          Dst:             add_pseudoheader
    - functionName:    add_edns0_config
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 577
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - '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:565,11'
          Dst:             add_mac
        - Src:             'edns0.c:566,10'
          Dst:             add_dns_client
        - Src:             'edns0.c:570,48'
          Dst:             strlen
        - Src:             'edns0.c:569,12'
          Dst:             add_pseudoheader
        - Src:             'edns0.c:573,12'
          Dst:             add_umbrella_opt
        - Src:             'edns0.c:575,10'
          Dst:             add_source_addr
    - functionName:    edns0_needs_mac
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          44
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - find_mac
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:275,5'
          Dst:             find_mac
    - functionName:    add_do_bit
      functionSourceFile: '/src/dnsmasq/src/edns0.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_pseudoheader
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'edns0.c:253,10'
          Dst:             add_pseudoheader
    - functionName:    xor_array
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1338
      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: 691
      functionLinenumberEnd: 709
      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:694,26'
          Dst:             strlen
        - Src:             'forward.c:698,32'
          Dst:             strlen
        - Src:             'forward.c:700,35'
          Dst:             hostname_isequal
    - functionName:    get_id
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3339
      functionLinenumberEnd: 3353
      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:3345,13'
          Dst:             rand16
    - functionName:    get_new_frec
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3159
      functionLinenumberEnd: 3229
      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_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3181,7'
          Dst:             difftime
        - Src:             'forward.c:3187,23'
          Dst:             difftime
        - Src:             'forward.c:3184,7'
          Dst:             free_frec
        - Src:             'forward.c:3192,30'
          Dst:             difftime
        - Src:             'forward.c:3192,67'
          Dst:             server_samegroup
        - Src:             'forward.c:3200,4'
          Dst:             query_full
        - Src:             'forward.c:3204,38'
          Dst:             difftime
        - Src:             'forward.c:3208,4'
          Dst:             free_frec
        - Src:             'forward.c:3213,43'
          Dst:             whine_malloc_real
    - functionName:    free_frec
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3088
      functionLinenumberEnd: 3148
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          93
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - blockdata_free
        - free_real
        - free_rfds
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3096,2'
          Dst:             free_real
        - Src:             'forward.c:3105,4'
          Dst:             free_real
        - Src:             'forward.c:3113,3'
          Dst:             free_rfds
        - Src:             'forward.c:3119,7'
          Dst:             blockdata_free
    - functionName:    query_full
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3232
      functionLinenumberEnd: 3243
      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:3235,12'
          Dst:             difftime
        - Src:             'forward.c:3239,2'
          Dst:             my_syslog
        - Src:             'forward.c:3241,2'
          Dst:             my_syslog
    - functionName:    free_rfds
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3049
      functionLinenumberEnd: 3085
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          121
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - close
        - free_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:3055,2'
          Dst:             close
        - Src:             'forward.c:3060,4'
          Dst:             free_real
    - functionName:    server_gone
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3319
      functionLinenumberEnd: 3335
      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:3325,7'
          Dst:             free_frec
    - functionName:    server_send
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - retry_send
        - sa_len
        - sendto
      functionUses:    1
      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: 3311
      functionLinenumberEnd: 3315
      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:3313,5'
          Dst:             server_send
    - functionName:    random_sock
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2819
      functionLinenumberEnd: 2858
      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:2822,13'
          Dst:             socket
        - Src:             'forward.c:2832,8'
          Dst:             setsockopt
        - Src:             'forward.c:2834,8'
          Dst:             close
        - Src:             'forward.c:2839,11'
          Dst:             local_bind
        - Src:             'forward.c:2843,12'
          Dst:             sockaddr_isnull
        - Src:             'forward.c:2843,48'
          Dst:             __errno_location
        - Src:             'forward.c:2846,12'
          Dst:             prettyprint_addr
        - Src:             'forward.c:2848,6'
          Dst:             safe_strncpy
        - Src:             'forward.c:2851,34'
          Dst:             __errno_location
        - Src:             'forward.c:2851,25'
          Dst:             strerror
        - Src:             'forward.c:2850,4'
          Dst:             my_syslog
        - Src:             'forward.c:2854,7'
          Dst:             close
    - functionName:    server_isequal
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2863
      functionLinenumberEnd: 2867
      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:2866,5'
          Dst:             sockaddr_isequal
        - Src:             'forward.c:2867,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: 2880
      functionLinenumberEnd: 3046
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         89
      ICount:          468
      EdgeCount:       123
      CyclomaticComplexity: 36
      functionsReached:
        - close
        - free_real
        - random_sock
        - server_isequal
        - whine_malloc_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:2907,9'
          Dst:             server_isequal
        - Src:             'forward.c:2946,14'
          Dst:             random_sock
        - Src:             'forward.c:2959,20'
          Dst:             whine_malloc_real
        - Src:             'forward.c:2964,4'
          Dst:             close
        - Src:             'forward.c:2977,6'
          Dst:             server_isequal
        - Src:             'forward.c:3009,13'
          Dst:             whine_malloc_real
        - Src:             'forward.c:3012,12'
          Dst:             whine_malloc_real
        - Src:             'forward.c:3013,10'
          Dst:             random_sock
        - Src:             'forward.c:3027,6'
          Dst:             free_real
    - functionName:    tcp_talk
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2056
      functionLinenumberEnd: 2216
      functionDepth:   0
      returnType:      size_t
      argCount:        7
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          410
      EdgeCount:       97
      CyclomaticComplexity: 29
      functionsReached:
        - __bswap_16
        - __errno_location
        - close
        - connect
        - expand_buf_real
        - extract_name
        - local_bind
        - my_syslog
        - prettyprint_addr
        - read_write
        - read_writev
        - retry_send
        - sa_len
        - sendmsg
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:2073,8'
          Dst:             extract_name
        - Src:             'forward.c:2078,12'
          Dst:             __bswap_16
        - Src:             'forward.c:2107,23'
          Dst:             socket
        - Src:             'forward.c:2116,10'
          Dst:             local_bind
        - Src:             'forward.c:2131,4'
          Dst:             setsockopt
        - Src:             'forward.c:2133,4'
          Dst:             setsockopt
        - Src:             'forward.c:2137,22'
          Dst:             sa_len
        - Src:             'forward.c:2144,22'
          Dst:             sendmsg
        - Src:             'forward.c:2144,11'
          Dst:             retry_send
        - Src:             'forward.c:2146,8'
          Dst:             __errno_location
        - Src:             'forward.c:2154,69'
          Dst:             sa_len
        - Src:             'forward.c:2154,32'
          Dst:             connect
        - Src:             'forward.c:2159,15'
          Dst:             prettyprint_addr
        - Src:             'forward.c:2160,8'
          Dst:             my_syslog
        - Src:             'forward.c:2173,27'
          Dst:             read_writev
        - Src:             'forward.c:2174,5'
          Dst:             read_write
        - Src:             'forward.c:2175,5'
          Dst:             __bswap_16
        - Src:             'forward.c:2175,5'
          Dst:             expand_buf_real
        - Src:             'forward.c:2176,5'
          Dst:             read_write
        - Src:             'forward.c:2183,8'
          Dst:             close
        - Src:             'forward.c:2198,86'
          Dst:             __bswap_16
        - Src:             'forward.c:2199,8'
          Dst:             extract_name
        - Src:             'forward.c:0,0'
          Dst:             close
    - 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:    22
      BranchProfiles:  []
      Callsites:       []
    - 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:    3
      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: 2387
      functionLinenumberEnd: 2814
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         150
      ICount:          877
      EdgeCount:       207
      CyclomaticComplexity: 59
      functionsReached:
        - __bswap_16
        - __bswap_32
        - add_edns0_config
        - add_pseudoheader
        - answer_auth
        - answer_request
        - check_for_local_domain
        - check_log_writer
        - close
        - domain_no_rebind
        - expand_buf_real
        - 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
        - read_writev
        - shutdown
        - strchr
        - tcp_talk
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:2415,7'
          Dst:             getpeername
        - Src:             'forward.c:2442,3'
          Dst:             is_same_net6
        - Src:             'forward.c:2450,25'
          Dst:             __bswap_32
        - Src:             'forward.c:2452,5'
          Dst:             is_same_net
        - Src:             'forward.c:2458,4'
          Dst:             prettyprint_addr
        - Src:             'forward.c:2459,4'
          Dst:             my_syslog
        - Src:             'forward.c:2605,7'
          Dst:             check_log_writer
        - Src:             'forward.c:2484,9'
          Dst:             read_write
        - Src:             'forward.c:2485,17'
          Dst:             __bswap_16
        - Src:             'forward.c:2486,9'
          Dst:             read_write
        - Src:             'forward.c:2496,4'
          Dst:             expand_buf_real
        - Src:             'forward.c:2500,11'
          Dst:             add_edns0_config
        - Src:             'forward.c:2521,25'
          Dst:             extract_request
        - Src:             'forward.c:2527,12'
          Dst:             find_pseudoheader
        - Src:             'forward.c:2539,8'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:2554,11'
          Dst:             in_zone
        - Src:             'forward.c:2566,19'
          Dst:             domain_no_rebind
        - Src:             'forward.c:2596,7'
          Dst:             answer_auth
        - Src:             'forward.c:2599,7'
          Dst:             answer_request
        - Src:             'forward.c:2517,8'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:2605,7'
          Dst:             check_log_writer
        - Src:             'forward.c:2616,8'
          Dst:             lookup_domain
        - Src:             'forward.c:2617,14'
          Dst:             is_local_answer
        - Src:             'forward.c:2626,6'
          Dst:             strchr
        - Src:             'forward.c:2628,11'
          Dst:             check_for_local_domain
        - Src:             'forward.c:2651,14'
          Dst:             tcp_talk
        - Src:             'forward.c:2658,14'
          Dst:             extract_name
        - Src:             'forward.c:2660,9'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:2734,13'
          Dst:             process_reply
        - Src:             'forward.c:2605,7'
          Dst:             check_log_writer
        - Src:             'forward.c:2751,14'
          Dst:             make_local_answer
        - Src:             'forward.c:2765,15'
          Dst:             __bswap_16
        - Src:             'forward.c:2768,10'
          Dst:             add_pseudoheader
        - Src:             'forward.c:2770,10'
          Dst:             add_pseudoheader
        - Src:             'forward.c:2773,7'
          Dst:             check_log_writer
        - Src:             'forward.c:2784,17'
          Dst:             __bswap_16
        - Src:             'forward.c:2789,12'
          Dst:             read_writev
        - Src:             'forward.c:2798,4'
          Dst:             shutdown
        - Src:             'forward.c:2799,4'
          Dst:             close
        - Src:             'forward.c:2809,7'
          Dst:             shutdown
        - Src:             'forward.c:2810,7'
          Dst:             close
        - Src:             'forward.c:2813,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: 716
      functionLinenumberEnd: 906
      functionDepth:   0
      returnType:      size_t
      argCount:        10
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - int
        - int
        - int
        - int
        - 'N/A'
        - size_t
      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:727,46'
          Dst:             extract_name
        - Src:             'forward.c:730,16'
          Dst:             domain_find_sets
        - Src:             'forward.c:739,18'
          Dst:             find_pseudoheader
        - Src:             'forward.c:744,46'
          Dst:             check_source
        - Src:             'forward.c:746,4'
          Dst:             my_syslog
        - Src:             'forward.c:755,8'
          Dst:             rrfilter
        - Src:             'forward.c:787,13'
          Dst:             prettyprint_addr
        - Src:             'forward.c:788,7'
          Dst:             my_syslog
        - Src:             'forward.c:796,12'
          Dst:             resize_packet
        - Src:             'forward.c:803,7'
          Dst:             log_query
        - Src:             'forward.c:805,14'
          Dst:             resize_packet
        - Src:             'forward.c:809,5'
          Dst:             log_query
        - Src:             'forward.c:812,32'
          Dst:             extract_name
        - Src:             'forward.c:813,5'
          Dst:             check_for_local_domain
        - Src:             'forward.c:813,54'
          Dst:             lookup_domain
        - Src:             'forward.c:823,30'
          Dst:             do_doctor
        - Src:             'forward.c:829,4'
          Dst:             check_for_bogus_wildcard
        - Src:             'forward.c:831,22'
          Dst:             __bswap_16
        - Src:             'forward.c:841,13'
          Dst:             extract_addresses
        - Src:             'forward.c:845,26'
          Dst:             __bswap_16
        - Src:             'forward.c:853,8'
          Dst:             my_syslog
        - Src:             'forward.c:865,39'
          Dst:             rrfilter
        - Src:             'forward.c:894,7'
          Dst:             resize_packet
        - Src:             'forward.c:898,18'
          Dst:             __bswap_16
        - Src:             'forward.c:899,11'
          Dst:             add_pseudoheader
    - functionName:    receive_query
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1600
      functionLinenumberEnd: 2049
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         204
      ICount:          1082
      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:1673,12'
          Dst:             recvmsg
        - Src:             'forward.c:1711,3'
          Dst:             is_same_net6
        - Src:             'forward.c:1719,25'
          Dst:             __bswap_32
        - Src:             'forward.c:1721,5'
          Dst:             is_same_net
        - Src:             'forward.c:1730,8'
          Dst:             prettyprint_addr
        - Src:             'forward.c:1731,8'
          Dst:             my_syslog
        - Src:             'forward.c:1747,51'
          Dst:             __cmsg_nxthdr
        - Src:             'forward.c:1786,53'
          Dst:             __cmsg_nxthdr
        - Src:             'forward.c:1802,12'
          Dst:             indextoname
        - Src:             'forward.c:1805,12'
          Dst:             iface_check
        - Src:             'forward.c:1808,7'
          Dst:             enumerate_interfaces
        - Src:             'forward.c:1809,10'
          Dst:             loopback_exception
        - Src:             'forward.c:1810,10'
          Dst:             label_exception
        - Src:             'forward.c:1828,6'
          Dst:             enumerate_interfaces
        - Src:             'forward.c:1849,3'
          Dst:             dump_packet_udp
        - Src:             'forward.c:1858,5'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:1859,12'
          Dst:             extract_request
        - Src:             'forward.c:1864,7'
          Dst:             log_query_mysockaddr
        - Src:             'forward.c:1879,10'
          Dst:             in_zone
        - Src:             'forward.c:1893,11'
          Dst:             detect_loop
        - Src:             'forward.c:1898,7'
          Dst:             find_pseudoheader
        - Src:             'forward.c:1953,11'
          Dst:             answer_auth
        - Src:             'forward.c:1966,11'
          Dst:             add_edns0_config
        - Src:             'forward.c:1967,24'
          Dst:             blockdata_alloc
        - Src:             'forward.c:1972,11'
          Dst:             answer_request
        - Src:             'forward.c:1998,19'
          Dst:             __bswap_16
        - Src:             'forward.c:2000,12'
          Dst:             add_pseudoheader
        - Src:             'forward.c:2004,10'
          Dst:             add_pseudoheader
        - Src:             'forward.c:2009,7'
          Dst:             dump_packet_udp
        - Src:             'forward.c:2017,7'
          Dst:             send_from
        - Src:             'forward.c:2040,7'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:2041,7'
          Dst:             blockdata_free
        - Src:             'forward.c:2044,7'
          Dst:             forward_query
        - Src:             'forward.c:2048,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: 640
      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:         190
      ICount:          1043
      EdgeCount:       263
      CyclomaticComplexity: 75
      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_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'forward.c:180,23'
          Dst:             __bswap_16
        - Src:             'forward.c:184,13'
          Dst:             extract_request
        - Src:             'forward.c:198,34'
          Dst:             lookup_frec
        - Src:             'forward.c:206,6'
          Dst:             sockaddr_isequal
        - Src:             'forward.c:217,4'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:228,33'
          Dst:             whine_malloc_real
        - Src:             'forward.c:238,8'
          Dst:             query_full
        - Src:             'forward.c:246,12'
          Dst:             difftime
        - Src:             'forward.c:268,4'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:271,8'
          Dst:             extract_name
        - Src:             'forward.c:302,22'
          Dst:             whine_malloc_real
        - Src:             'forward.c:324,8'
          Dst:             difftime
        - Src:             'forward.c:329,20'
          Dst:             __bswap_16
        - Src:             'forward.c:349,11'
          Dst:             lookup_domain
        - Src:             'forward.c:350,10'
          Dst:             is_local_answer
        - Src:             'forward.c:362,5'
          Dst:             strchr
        - Src:             'forward.c:364,10'
          Dst:             check_for_local_domain
        - Src:             'forward.c:372,23'
          Dst:             get_new_frec
        - Src:             'forward.c:391,35'
          Dst:             __bswap_16
        - Src:             'forward.c:392,25'
          Dst:             get_id
        - Src:             'forward.c:393,20'
          Dst:             __bswap_16
        - Src:             'forward.c:394,110'
          Dst:             rand32
        - Src:             'forward.c:397,29'
          Dst:             extract_name
        - Src:             'forward.c:401,30'
          Dst:             blockdata_alloc
        - 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:600,20'
          Dst:             __bswap_16
        - Src:             'forward.c:602,2'
          Dst:             extract_name
        - Src:             'forward.c:604,20'
          Dst:             make_local_answer
        - Src:             'forward.c:609,15'
          Dst:             __bswap_16
        - Src:             'forward.c:612,13'
          Dst:             add_pseudoheader
        - Src:             'forward.c:614,13'
          Dst:             add_pseudoheader
        - Src:             'forward.c:628,7'
          Dst:             dump_packet_udp
        - Src:             'forward.c:630,7'
          Dst:             send_from
        - Src:             'forward.c:637,5'
          Dst:             free_frec
    - functionName:    lookup_frec
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3246
      functionLinenumberEnd: 3307
      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:3264,12'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:3270,12'
          Dst:             extract_name
        - Src:             'forward.c:3289,3'
          Dst:             my_syslog
        - Src:             'forward.c:3300,6'
          Dst:             difftime
    - functionName:    flip_queryname
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1342
      functionLinenumberEnd: 1371
      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:1368,3'
          Dst:             xor_array
        - Src:             'forward.c:1369,3'
          Dst:             extract_name
        - Src:             'forward.c:1370,3'
          Dst:             xor_array
    - functionName:    return_reply
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1374
      functionLinenumberEnd: 1553
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         59
      ICount:          345
      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:1460,13'
          Dst:             process_reply
        - Src:             'forward.c:1470,17'
          Dst:             __bswap_16
        - Src:             'forward.c:1487,6'
          Dst:             flip_queryname
        - Src:             'forward.c:1495,5'
          Dst:             send_from
        - Src:             'forward.c:1498,5'
          Dst:             dump_packet_udp
        - Src:             'forward.c:1508,5'
          Dst:             log_query
        - Src:             'forward.c:1517,29'
          Dst:             find_pseudoheader
        - Src:             'forward.c:1519,22'
          Dst:             __bswap_16
        - Src:             'forward.c:1523,10'
          Dst:             resize_packet
        - Src:             'forward.c:1527,4'
          Dst:             log_query
        - Src:             'forward.c:1530,4'
          Dst:             flip_queryname
        - Src:             'forward.c:1536,3'
          Dst:             flip_queryname
        - Src:             'forward.c:1540,18'
          Dst:             __bswap_16
        - Src:             'forward.c:1541,5'
          Dst:             send_from
        - Src:             'forward.c:1545,5'
          Dst:             dump_packet_udp
        - Src:             'forward.c:1552,3'
          Dst:             free_frec
    - functionName:    reply_query
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1330
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         79
      ICount:          464
      EdgeCount:       110
      CyclomaticComplexity: 33
      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:1179,15'
          Dst:             recvfrom
        - Src:             'forward.c:1194,72'
          Dst:             __bswap_16
        - Src:             'forward.c:1198,8'
          Dst:             extract_name
        - Src:             'forward.c:1203,69'
          Dst:             __bswap_16
        - Src:             'forward.c:1203,19'
          Dst:             lookup_frec
        - Src:             'forward.c:1206,3'
          Dst:             filter_servers
        - Src:             'forward.c:1235,9'
          Dst:             sockaddr_isequal
        - Src:             'forward.c:1254,3'
          Dst:             dump_packet_udp
        - Src:             'forward.c:1259,7'
          Dst:             check_for_ignored_address
        - Src:             'forward.c:1276,7'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:1278,7'
          Dst:             forward_query
        - Src:             'forward.c:1298,3'
          Dst:             free_rfds
        - Src:             'forward.c:1302,28'
          Dst:             dnsmasq_milliseconds
        - Src:             'forward.c:1304,28'
          Dst:             dnsmasq_milliseconds
        - Src:             'forward.c:1310,3'
          Dst:             extract_name
        - Src:             'forward.c:1329,5'
          Dst:             return_reply
    - functionName:    fast_retry
      functionSourceFile: '/src/dnsmasq/src/forward.c'
      linkageType:     InternalLinkage
      functionLinenumber: 646
      functionLinenumberEnd: 687
      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:652,20'
          Dst:             dnsmasq_milliseconds
        - Src:             'forward.c:655,19'
          Dst:             difftime
        - Src:             'forward.c:673,3'
          Dst:             blockdata_retrieve
        - Src:             'forward.c:678,3'
          Dst:             forward_query
    - functionName:    helper_write
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 942
      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:930,13'
          Dst:             write
        - Src:             'helper.c:938,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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    helper_buf_empty
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 919
      functionLinenumberEnd: 920
      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: 897
      functionLinenumberEnd: 916
      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:902,3'
          Dst:             buff_alloc
    - functionName:    buff_alloc
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 770
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          53
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - free_real
        - whine_malloc_real
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'helper.c:763,19'
          Dst:             whine_malloc_real
        - Src:             'helper.c:766,2'
          Dst:             free_real
    - functionName:    queue_tftp
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 870
      functionLinenumberEnd: 893
      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:877,18'
          Dst:             strlen
        - Src:             'helper.c:878,3'
          Dst:             buff_alloc
    - functionName:    queue_relay_snoop
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 846
      functionLinenumberEnd: 864
      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:851,3'
          Dst:             inet_ntop
        - Src:             'helper.c:854,3'
          Dst:             buff_alloc
        - Src:             'helper.c:859,23'
          Dst:             sprintf
        - Src:             'helper.c:861,3'
          Dst:             indextoname
    - functionName:    queue_script
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 774
      functionLinenumberEnd: 842
      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:792,20'
          Dst:             strlen
        - Src:             'helper.c:794,3'
          Dst:             buff_alloc
        - Src:             'helper.c:811,8'
          Dst:             indextoname
        - Src:             'helper.c:821,41'
          Dst:             difftime
    - functionName:    grab_extradata
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 699
      functionLinenumberEnd: 726
      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:718,13'
          Dst:             strchr
        - Src:             'helper.c:724,3'
          Dst:             my_setenv
        - Src:             'helper.c:724,3'
          Dst:             my_setenv
    - functionName:    my_setenv
      functionSourceFile: '/src/dnsmasq/src/helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 688
      functionLinenumberEnd: 696
      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:692,2'
          Dst:             unsetenv
        - Src:             'helper.c:693,16'
          Dst:             setenv
        - Src:             'helper.c:694,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: 685
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         233
      ICount:          1208
      EdgeCount:       317
      CyclomaticComplexity: 86
      functionsReached:
        - __errno_location
        - _exit
        - close
        - close_fds
        - dup2
        - execl
        - fclose
        - fcntl64
        - fdopen
        - fix_fd
        - fork
        - free_real
        - get_line_alloc
        - grab_extradata
        - inet_ntop
        - legal_hostname
        - my_setenv
        - pipe
        - read_write
        - send_event
        - setgid
        - setgroups
        - setuid
        - sigaction
        - sigemptyset
        - sleep
        - sprintf
        - strchr
        - strcpy
        - 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:194,4'
          Dst:             free_real
        - 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:539,12'
          Dst:             get_line_alloc
        - Src:             'helper.c:540,7'
          Dst:             send_event
        - Src:             'helper.c:542,5'
          Dst:             fclose
        - Src:             'helper.c:550,19'
          Dst:             wait
        - Src:             'helper.c:556,7'
          Dst:             send_event
        - Src:             'helper.c:558,7'
          Dst:             send_event
        - Src:             'helper.c:562,24'
          Dst:             __errno_location
        - Src:             'helper.c:572,4'
          Dst:             close
        - Src:             'helper.c:573,4'
          Dst:             dup2
        - Src:             'helper.c:574,4'
          Dst:             dup2
        - Src:             'helper.c:575,4'
          Dst:             close
        - Src:             'helper.c:581,4'
          Dst:             my_setenv
        - Src:             'helper.c:582,4'
          Dst:             my_setenv
        - Src:             'helper.c:583,4'
          Dst:             my_setenv
        - Src:             'helper.c:581,4'
          Dst:             my_setenv
        - Src:             'helper.c:582,4'
          Dst:             my_setenv
        - Src:             'helper.c:583,4'
          Dst:             my_setenv
        - Src:             'helper.c:586,4'
          Dst:             my_setenv
        - Src:             'helper.c:587,4'
          Dst:             my_setenv
        - Src:             'helper.c:593,4'
          Dst:             sprintf
        - Src:             'helper.c:594,4'
          Dst:             my_setenv
        - Src:             'helper.c:597,4'
          Dst:             my_setenv
        - Src:             'helper.c:603,6'
          Dst:             my_setenv
        - Src:             'helper.c:606,12'
          Dst:             grab_extradata
        - Src:             'helper.c:622,10'
          Dst:             grab_extradata
        - Src:             'helper.c:626,14'
          Dst:             grab_extradata
        - Src:             'helper.c:627,14'
          Dst:             grab_extradata
        - Src:             'helper.c:628,14'
          Dst:             grab_extradata
        - Src:             'helper.c:629,14'
          Dst:             grab_extradata
        - Src:             'helper.c:630,14'
          Dst:             grab_extradata
        - Src:             'helper.c:631,14'
          Dst:             grab_extradata
        - Src:             'helper.c:622,10'
          Dst:             grab_extradata
        - Src:             'helper.c:612,11'
          Dst:             grab_extradata
        - Src:             'helper.c:615,9'
          Dst:             sprintf
        - Src:             'helper.c:616,15'
          Dst:             grab_extradata
        - Src:             'helper.c:622,10'
          Dst:             grab_extradata
        - Src:             'helper.c:634,10'
          Dst:             grab_extradata
        - Src:             'helper.c:635,10'
          Dst:             grab_extradata
        - Src:             'helper.c:636,10'
          Dst:             grab_extradata
        - Src:             'helper.c:639,12'
          Dst:             grab_extradata
        - Src:             'helper.c:644,14'
          Dst:             inet_ntop
        - Src:             'helper.c:645,8'
          Dst:             my_setenv
        - Src:             'helper.c:650,8'
          Dst:             sprintf
        - Src:             'helper.c:651,14'
          Dst:             grab_extradata
        - Src:             'helper.c:654,4'
          Dst:             sprintf
        - Src:             'helper.c:655,4'
          Dst:             my_setenv
        - Src:             'helper.c:657,4'
          Dst:             my_setenv
        - Src:             'helper.c:661,4'
          Dst:             my_setenv
        - Src:             'helper.c:665,16'
          Dst:             fcntl64
        - Src:             'helper.c:666,2'
          Dst:             fcntl64
        - Src:             'helper.c:667,7'
          Dst:             close
        - Src:             'helper.c:670,2'
          Dst:             strcpy
        - Src:             'helper.c:672,12'
          Dst:             strrchr
        - Src:             'helper.c:675,4'
          Dst:             execl
        - Src:             'helper.c:679,10'
          Dst:             __errno_location
        - Src:             'helper.c:682,7'
          Dst:             send_event
        - Src:             'helper.c:683,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:    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: 281
      functionLinenumberEnd: 384
      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
        - free_real
        - lease_update_dns
        - lease_update_file
        - lease_update_from_configs
        - my_syslog
        - option_read_dynfile
        - read
        - read_hostsfile
        - strcat
        - strcmp
        - strcpy
        - strlen
        - whine_malloc_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'inotify.c:294,20'
          Dst:             read
        - Src:             'inotify.c:294,82'
          Dst:             __errno_location
        - Src:             'inotify.c:306,35'
          Dst:             strlen
        - Src:             'inotify.c:313,31'
          Dst:             strcmp
        - Src:             'inotify.c:322,17'
          Dst:             dyndir_addhosts
        - Src:             'inotify.c:324,33'
          Dst:             cache_remove_uid
        - Src:             'inotify.c:0,0'
          Dst:             my_syslog
        - Src:             'inotify.c:333,6'
          Dst:             my_syslog
        - Src:             'inotify.c:337,6'
          Dst:             read_hostsfile
        - Src:             'inotify.c:342,8'
          Dst:             dhcp_update_configs
        - Src:             'inotify.c:343,8'
          Dst:             lease_update_from_configs
        - Src:             'inotify.c:344,8'
          Dst:             lease_update_file
        - Src:             'inotify.c:345,8'
          Dst:             lease_update_dns
        - Src:             'inotify.c:355,19'
          Dst:             strlen
        - Src:             'inotify.c:355,19'
          Dst:             whine_malloc_real
        - Src:             'inotify.c:357,4'
          Dst:             strcpy
        - Src:             'inotify.c:358,4'
          Dst:             strlen
        - Src:             'inotify.c:359,4'
          Dst:             strcat
        - Src:             'inotify.c:361,4'
          Dst:             my_syslog
        - Src:             'inotify.c:363,37'
          Dst:             option_read_dynfile
        - Src:             'inotify.c:366,8'
          Dst:             dhcp_update_configs
        - Src:             'inotify.c:367,8'
          Dst:             lease_update_from_configs
        - Src:             'inotify.c:368,8'
          Dst:             lease_update_file
        - Src:             'inotify.c:369,8'
          Dst:             lease_update_dns
        - Src:             'inotify.c:373,6'
          Dst:             option_read_dynfile
        - Src:             'inotify.c:375,4'
          Dst:             free_real
    - 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:    1
      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:    82
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dyndir_addhosts
      functionSourceFile: '/src/dnsmasq/src/inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          104
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - free_real
        - strcat
        - strcmp
        - strcpy
        - strlen
        - whine_malloc_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'inotify.c:155,19'
          Dst:             strlen
        - Src:             'inotify.c:160,9'
          Dst:             strcmp
        - Src:             'inotify.c:164,13'
          Dst:             whine_malloc_real
        - Src:             'inotify.c:168,20'
          Dst:             strlen
        - Src:             'inotify.c:168,20'
          Dst:             whine_malloc_real
        - Src:             'inotify.c:170,4'
          Dst:             free_real
        - Src:             'inotify.c:174,7'
          Dst:             strcpy
        - Src:             'inotify.c:175,7'
          Dst:             strlen
        - Src:             'inotify.c:176,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:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_dynamic_inotify
      functionSourceFile: '/src/dnsmasq/src/inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 278
      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
        - free_real
        - inotify_add_watch
        - my_syslog
        - opendir
        - option_read_dynfile
        - read_hostsfile
        - readdir64
        - stat64
        - strcat
        - strcpy
        - strerror
        - strlen
        - whine_malloc_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'inotify.c:206,11'
          Dst:             stat64
        - Src:             'inotify.c:209,27'
          Dst:             __errno_location
        - Src:             'inotify.c:209,18'
          Dst:             strerror
        - Src:             'inotify.c:208,4'
          Dst:             my_syslog
        - Src:             'inotify.c:215,4'
          Dst:             my_syslog
        - Src:             'inotify.c:222,14'
          Dst:             inotify_add_watch
        - Src:             'inotify.c:228,43'
          Dst:             opendir
        - Src:             'inotify.c:231,28'
          Dst:             __errno_location
        - Src:             'inotify.c:231,19'
          Dst:             strerror
        - Src:             'inotify.c:230,5'
          Dst:             my_syslog
        - Src:             'inotify.c:235,22'
          Dst:             readdir64
        - Src:             'inotify.c:237,22'
          Dst:             strlen
        - Src:             'inotify.c:251,19'
          Dst:             dyndir_addhosts
        - Src:             'inotify.c:252,6'
          Dst:             stat64
        - Src:             'inotify.c:253,17'
          Dst:             read_hostsfile
        - Src:             'inotify.c:260,21'
          Dst:             strlen
        - Src:             'inotify.c:260,21'
          Dst:             whine_malloc_real
        - Src:             'inotify.c:262,6'
          Dst:             strcpy
        - Src:             'inotify.c:263,6'
          Dst:             strlen
        - Src:             'inotify.c:264,6'
          Dst:             strcat
        - Src:             'inotify.c:267,10'
          Dst:             stat64
        - Src:             'inotify.c:268,8'
          Dst:             option_read_dynfile
        - Src:             'inotify.c:270,6'
          Dst:             free_real
        - Src:             'inotify.c:276,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: 89
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          86
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - _exit
        - free_real
        - readlink
        - safe_malloc
        - send_event
        - strcat
        - strcpy
        - strlen
        - strrchr
      functionUses:    2
      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:63,8'
          Dst:             send_event
        - Src:             'inotify.c:64,8'
          Dst:             _exit
        - Src:             'inotify.c:72,31'
          Dst:             strrchr
        - Src:             'inotify.c:75,49'
          Dst:             strlen
        - Src:             'inotify.c:75,24'
          Dst:             safe_malloc
        - Src:             'inotify.c:77,8'
          Dst:             strcpy
        - Src:             'inotify.c:78,8'
          Dst:             strcat
        - Src:             'inotify.c:87,7'
          Dst:             free_real
        - Src:             'inotify.c:0,0'
          Dst:             free_real
    - 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: 92
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          150
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - _exit
        - free_real
        - inotify_add_watch
        - inotify_init1
        - my_readlink
        - safe_malloc
        - send_event
        - strcpy
        - strlen
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'inotify.c:94,20'
          Dst:             safe_malloc
        - Src:             'inotify.c:95,23'
          Dst:             inotify_init1
        - Src:             'inotify.c:99,43'
          Dst:             __errno_location
        - Src:             'inotify.c:99,7'
          Dst:             send_event
        - Src:             'inotify.c:100,7'
          Dst:             _exit
        - Src:             'inotify.c:108,47'
          Dst:             strlen
        - Src:             'inotify.c:108,35'
          Dst:             safe_malloc
        - Src:             'inotify.c:111,7'
          Dst:             strcpy
        - Src:             'inotify.c:114,26'
          Dst:             my_readlink
        - Src:             'inotify.c:118,8'
          Dst:             send_event
        - Src:             'inotify.c:119,8'
          Dst:             _exit
        - Src:             'inotify.c:121,4'
          Dst:             free_real
        - Src:             'inotify.c:114,26'
          Dst:             my_readlink
        - Src:             'inotify.c:127,16'
          Dst:             strrchr
        - Src:             'inotify.c:130,14'
          Dst:             inotify_add_watch
        - Src:             'inotify.c:135,25'
          Dst:             __errno_location
        - Src:             'inotify.c:137,8'
          Dst:             send_event
        - Src:             'inotify.c:138,8'
          Dst:             _exit
        - Src:             'inotify.c:144,39'
          Dst:             __errno_location
        - Src:             'inotify.c:144,4'
          Dst:             send_event
        - Src:             'inotify.c:145,4'
          Dst:             _exit
    - 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: 1321
      functionLinenumberEnd: 1351
      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_real
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1338,28'
          Dst:             whine_realloc_real
    - functionName:    do_script_run
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1225
      functionLinenumberEnd: 1316
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          198
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - free_real
        - kill_name
        - queue_script
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1245,4'
          Dst:             queue_script
        - Src:             'lease.c:1247,4'
          Dst:             free_real
        - Src:             'lease.c:1258,8'
          Dst:             free_real
        - Src:             'lease.c:1261,4'
          Dst:             kill_name
        - Src:             'lease.c:1263,4'
          Dst:             queue_script
        - Src:             'lease.c:1270,4'
          Dst:             free_real
        - Src:             'lease.c:1271,4'
          Dst:             free_real
        - Src:             'lease.c:1272,4'
          Dst:             free_real
        - Src:             'lease.c:1273,4'
          Dst:             free_real
        - Src:             'lease.c:1274,4'
          Dst:             free_real
        - Src:             'lease.c:1275,4'
          Dst:             free_real
        - Src:             'lease.c:1286,2'
          Dst:             queue_script
        - Src:             'lease.c:1288,2'
          Dst:             free_real
        - Src:             'lease.c:1299,2'
          Dst:             queue_script
        - Src:             'lease.c:1309,2'
          Dst:             free_real
    - functionName:    kill_name
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1011
      functionLinenumberEnd: 1030
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - free_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1016,3'
          Dst:             free_real
        - Src:             'lease.c:1024,7'
          Dst:             free_real
    - functionName:    rerun_scripts
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1212
      functionLinenumberEnd: 1217
      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: 1192
      functionLinenumberEnd: 1208
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          78
      EdgeCount:       26
      CyclomaticComplexity: 9
      functionsReached:
        - free_real
        - memcmp
        - whine_malloc_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1196,69'
          Dst:             memcmp
        - Src:             'lease.c:1200,3'
          Dst:             free_real
        - Src:             'lease.c:1203,36'
          Dst:             whine_malloc_real
    - functionName:    lease_set_agent_id
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1189
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          78
      EdgeCount:       26
      CyclomaticComplexity: 9
      functionsReached:
        - free_real
        - memcmp
        - whine_malloc_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1177,63'
          Dst:             memcmp
        - Src:             'lease.c:1181,3'
          Dst:             free_real
        - Src:             'lease.c:1184,33'
          Dst:             whine_malloc_real
    - functionName:    lease_calc_fqdns
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1033
      functionLinenumberEnd: 1060
      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:1044,15'
          Dst:             get_domain6
        - Src:             'lease.c:1047,15'
          Dst:             get_domain
        - Src:             'lease.c:1052,34'
          Dst:             strlen
        - Src:             'lease.c:1052,60'
          Dst:             strlen
        - Src:             'lease.c:1052,22'
          Dst:             safe_malloc
        - Src:             'lease.c:1054,8'
          Dst:             strcpy
        - Src:             'lease.c:1055,8'
          Dst:             strlen
        - Src:             'lease.c:1056,8'
          Dst:             strcat
    - functionName:    lease_set_hwaddr
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 1008
      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:
        - free_real
        - memcmp
        - slaac_add_addrs
        - whine_malloc_real
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:962,23'
          Dst:             memcmp
        - Src:             'lease.c:984,4'
          Dst:             free_real
        - Src:             'lease.c:985,24'
          Dst:             whine_malloc_real
        - Src:             'lease.c:991,16'
          Dst:             memcmp
        - Src:             'lease.c:1006,5'
          Dst:             slaac_add_addrs
    - functionName:    lease_set_iaid
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 939
      functionLinenumberEnd: 945
      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: 899
      functionLinenumberEnd: 935
      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:913,11'
          Dst:             difftime
    - functionName:    lease6_allocate
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 882
      functionLinenumberEnd: 894
      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:883,30'
          Dst:             lease_allocate
    - functionName:    lease_allocate
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 847
      functionLinenumberEnd: 866
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - whine_malloc_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:849,33'
          Dst:             whine_malloc_real
    - functionName:    lease4_allocate
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 869
      functionLinenumberEnd: 877
      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:870,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: 826
      functionLinenumberEnd: 844
      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:837,17'
          Dst:             __bswap_32
        - Src:             'lease.c:837,57'
          Dst:             __bswap_32
        - Src:             'lease.c:838,58'
          Dst:             __bswap_32
        - Src:             'lease.c:839,57'
          Dst:             __bswap_32
    - functionName:    lease_find_max_addr6
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 802
      functionLinenumberEnd: 819
      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:804,14'
          Dst:             addr6part
        - Src:             'lease.c:812,6'
          Dst:             is_same_net6
        - Src:             'lease.c:813,6'
          Dst:             addr6part
        - Src:             'lease.c:813,33'
          Dst:             addr6part
        - Src:             'lease.c:814,6'
          Dst:             addr6part
        - Src:             'lease.c:814,34'
          Dst:             addr6part
        - Src:             'lease.c:815,6'
          Dst:             addr6part
        - Src:             'lease.c:816,11'
          Dst:             addr6part
    - functionName:    lease6_find_by_plain_addr
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 785
      functionLinenumberEnd: 798
      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: 768
      functionLinenumberEnd: 782
      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:776,11'
          Dst:             is_same_net6
        - Src:             'lease.c:777,22'
          Dst:             addr6part
    - functionName:    lease6_find_by_client
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 765
      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:758,5'
          Dst:             memcmp
    - functionName:    lease6_reset
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 730
      functionLinenumberEnd: 735
      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: 707
      functionLinenumberEnd: 726
      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:719,5'
          Dst:             memcmp
    - functionName:    lease_find_by_addr
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 686
      functionLinenumberEnd: 700
      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: 653
      functionLinenumberEnd: 683
      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:664,6'
          Dst:             memcmp
        - Src:             'lease.c:678,4'
          Dst:             memcmp
    - functionName:    lease_update_dns
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 565
      functionLinenumberEnd: 619
      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:575,7'
          Dst:             cache_unhash_dhcp
        - Src:             'lease.c:592,9'
          Dst:             cache_add_dhcp_entry
        - Src:             'lease.c:594,9'
          Dst:             cache_add_dhcp_entry
        - Src:             'lease.c:599,6'
          Dst:             cache_add_dhcp_entry
        - Src:             'lease.c:604,6'
          Dst:             cache_add_dhcp_entry
    - functionName:    lease_make_duid
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 551
      functionLinenumberEnd: 558
      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:556,7'
          Dst:             make_duid
    - functionName:    lease_set_interface
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1157
      functionLinenumberEnd: 1169
      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:1167,3'
          Dst:             slaac_add_addrs
    - functionName:    find_interface_v6
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 502
      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:494,11'
          Dst:             is_same_net6
    - functionName:    find_interface_v4
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 476
      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:461,16'
          Dst:             netmask_length
        - Src:             'lease.c:469,2'
          Dst:             is_same_net
    - functionName:    lease_find_interfaces
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 547
      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:539,3'
          Dst:             iface_enumerate
        - Src:             'lease.c:539,3'
          Dst:             find_interface_v4
        - Src:             'lease.c:541,3'
          Dst:             iface_enumerate
        - Src:             'lease.c:541,3'
          Dst:             find_interface_v6
        - Src:             'lease.c:546,7'
          Dst:             lease_set_interface
    - functionName:    lease_update_slaac
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 514
      functionLinenumberEnd: 523
      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:522,7'
          Dst:             slaac_add_addrs
    - functionName:    lease_ping_reply
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 506
      functionLinenumberEnd: 511
      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:510,5'
          Dst:             slaac_ping_reply
    - functionName:    ourprintf
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 284
      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:281,19'
          Dst:             vfprintf
        - Src:             'lease.c:282,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: 287
      functionLinenumberEnd: 454
      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:294,7'
          Dst:             __errno_location
        - Src:             'lease.c:295,7'
          Dst:             rewind
        - Src:             'lease.c:296,35'
          Dst:             fileno
        - Src:             'lease.c:296,25'
          Dst:             ftruncate64
        - Src:             'lease.c:312,4'
          Dst:             ourprintf
        - Src:             'lease.c:316,6'
          Dst:             ourprintf
        - Src:             'lease.c:319,8'
          Dst:             ourprintf
        - Src:             'lease.c:321,3'
          Dst:             ourprintf
        - Src:             'lease.c:324,4'
          Dst:             inet_ntop
        - Src:             'lease.c:326,4'
          Dst:             ourprintf
        - Src:             'lease.c:327,4'
          Dst:             ourprintf
        - Src:             'lease.c:332,3'
          Dst:             ourprintf
        - Src:             'lease.c:333,8'
          Dst:             ourprintf
        - Src:             'lease.c:336,6'
          Dst:             ourprintf
        - Src:             'lease.c:342,4'
          Dst:             ourprintf
        - Src:             'lease.c:344,6'
          Dst:             ourprintf
        - Src:             'lease.c:345,4'
          Dst:             ourprintf
        - Src:             'lease.c:356,8'
          Dst:             ourprintf
        - Src:             'lease.c:359,8'
          Dst:             inet_ntop
        - Src:             'lease.c:361,8'
          Dst:             ourprintf
        - Src:             'lease.c:363,8'
          Dst:             ourprintf
        - Src:             'lease.c:368,7'
          Dst:             ourprintf
        - Src:             'lease.c:369,5'
          Dst:             ourprintf
        - Src:             'lease.c:372,3'
          Dst:             ourprintf
        - Src:             'lease.c:0,0'
          Dst:             inet_ntop
        - 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,5'
          Dst:             ourprintf
        - Src:             'lease.c:401,7'
          Dst:             ourprintf
        - Src:             'lease.c:402,5'
          Dst:             ourprintf
        - Src:             'lease.c:407,11'
          Dst:             fflush
        - Src:             'lease.c:408,10'
          Dst:             fileno
        - Src:             'lease.c:408,4'
          Dst:             fsync
        - Src:             'lease.c:424,20'
          Dst:             periodic_slaac
        - Src:             'lease.c:430,20'
          Dst:             periodic_ra
        - Src:             'lease.c:430,20'
          Dst:             periodic_ra
        - Src:             'lease.c:432,27'
          Dst:             difftime
        - Src:             'lease.c:440,22'
          Dst:             difftime
        - Src:             'lease.c:445,30'
          Dst:             difftime
        - Src:             'lease.c:449,23'
          Dst:             strerror
        - Src:             'lease.c:450,17'
          Dst:             difftime
        - Src:             'lease.c:448,7'
          Dst:             my_syslog
        - Src:             'lease.c:453,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: 1063
      functionLinenumberEnd: 1154
      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:
        - free_real
        - hostname_isequal
        - kill_name
        - memcmp
        - my_syslog
        - strcat
        - strcpy
        - strlen
        - whine_malloc_real
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lease.c:1067,37'
          Dst:             hostname_isequal
        - Src:             'lease.c:1068,5'
          Dst:             my_syslog
        - Src:             'lease.c:1070,34'
          Dst:             hostname_isequal
        - Src:             'lease.c:1090,23'
          Dst:             strlen
        - Src:             'lease.c:1090,23'
          Dst:             whine_malloc_real
        - Src:             'lease.c:1092,4'
          Dst:             strcpy
        - Src:             'lease.c:1093,30'
          Dst:             strlen
        - Src:             'lease.c:1093,30'
          Dst:             strlen
        - Src:             'lease.c:1093,30'
          Dst:             whine_malloc_real
        - Src:             'lease.c:1095,8'
          Dst:             strcpy
        - Src:             'lease.c:1096,8'
          Dst:             strlen
        - Src:             'lease.c:1097,8'
          Dst:             strcat
        - Src:             'lease.c:1106,46'
          Dst:             hostname_isequal
        - Src:             'lease.c:1111,50'
          Dst:             hostname_isequal
        - Src:             'lease.c:1123,5'
          Dst:             memcmp
        - Src:             'lease.c:1131,8'
          Dst:             free_real
        - Src:             'lease.c:1132,8'
          Dst:             free_real
        - Src:             'lease.c:1136,4'
          Dst:             kill_name
        - Src:             'lease.c:1143,5'
          Dst:             kill_name
    - functionName:    lease_update_from_configs
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 274
      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:267,24'
          Dst:             find_config
        - Src:             'lease.c:272,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: 622
      functionLinenumberEnd: 648
      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:628,35'
          Dst:             difftime
    - functionName:    read_leases
      functionSourceFile: '/src/dnsmasq/src/lease.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         64
      ICount:          393
      EdgeCount:       88
      CyclomaticComplexity: 26
      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:79,11'
          Dst:             strcmp
        - Src:             'lease.c:80,9'
          Dst:             lease_set_vendorclass
        - Src:             'lease.c:81,16'
          Dst:             strcmp
        - Src:             'lease.c:82,9'
          Dst:             lease_set_agent_id
        - Src:             'lease.c:89,6'
          Dst:             __isoc99_fscanf
        - Src:             'lease.c:92,6'
          Dst:             my_syslog
        - Src:             'lease.c:98,6'
          Dst:             inet_pton
        - Src:             'lease.c:100,14'
          Dst:             lease4_allocate
        - Src:             'lease.c:103,15'
          Dst:             parse_hex
        - Src:             'lease.c:111,11'
          Dst:             inet_pton
        - Src:             'lease.c:122,19'
          Dst:             lease6_allocate
        - Src:             'lease.c:123,30'
          Dst:             strtoul
        - Src:             'lease.c:123,8'
          Dst:             lease_set_iaid
        - Src:             'lease.c:128,6'
          Dst:             my_syslog
        - Src:             'lease.c:135,4'
          Dst:             die
        - Src:             'lease.c:137,6'
          Dst:             strcmp
        - Src:             'lease.c:139,17'
          Dst:             parse_hex
        - Src:             'lease.c:144,2'
          Dst:             lease_set_hwaddr
        - Src:             'lease.c:147,6'
          Dst:             strcmp
        - Src:             'lease.c:148,4'
          Dst:             lease_set_hostname
        - Src:             'lease.c:150,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: 175
      functionLinenumberEnd: 254
      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:190,8'
          Dst:             strlen
        - Src:             'lease.c:191,6'
          Dst:             die
        - Src:             'lease.c:208,44'
          Dst:             fopen64
        - Src:             'lease.c:211,2'
          Dst:             die
        - Src:             'lease.c:214,7'
          Dst:             rewind
        - Src:             'lease.c:193,4'
          Dst:             strcpy
        - Src:             'lease.c:194,4'
          Dst:             strlen
        - Src:             'lease.c:195,18'
          Dst:             popen
        - Src:             'lease.c:219,12'
          Dst:             read_leases
        - Src:             'lease.c:220,2'
          Dst:             my_syslog
        - Src:             'lease.c:222,11'
          Dst:             ferror
        - Src:             'lease.c:223,2'
          Dst:             die
        - Src:             'lease.c:232,33'
          Dst:             pclose
        - Src:             'lease.c:0,0'
          Dst:             __errno_location
        - Src:             'lease.c:239,4'
          Dst:             die
        - Src:             'lease.c:244,4'
          Dst:             sprintf
        - Src:             'lease.c:245,4'
          Dst:             die
        - Src:             'lease.c:252,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: 160
      functionLinenumberEnd: 165
      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: 480
      functionLinenumberEnd: 496
      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:    77
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:481,28'
          Dst:             __errno_location
        - Src:             'log.c:481,19'
          Dst:             strerror
        - Src:             'log.c:489,7'
          Dst:             fputc
        - Src:             'log.c:491,3'
          Dst:             my_syslog
        - Src:             'log.c:493,3'
          Dst:             my_syslog
        - Src:             'log.c:494,3'
          Dst:             flush_log
        - Src:             'log.c:496,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: 294
      functionLinenumberEnd: 446
      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:    202
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:300,15'
          Dst:             getpid
        - Src:             'log.c:325,7'
          Dst:             fprintf
        - Src:             'log.c:327,7'
          Dst:             vfprintf
        - Src:             'log.c:329,7'
          Dst:             fputc
        - Src:             'log.c:358,4'
          Dst:             openlog
        - Src:             'log.c:362,7'
          Dst:             vsyslog
        - Src:             'log.c:389,7'
          Dst:             time
        - Src:             'log.c:392,7'
          Dst:             sprintf
        - Src:             'log.c:396,28'
          Dst:             ctime
        - Src:             'log.c:396,7'
          Dst:             sprintf
        - Src:             'log.c:398,12'
          Dst:             sprintf
        - Src:             'log.c:402,14'
          Dst:             vsnprintf
        - Src:             'log.c:411,3'
          Dst:             log_write
        - Src:             'log.c:440,4'
          Dst:             nanosleep
        - Src:             'log.c:443,4'
          Dst:             log_write
    - functionName:    flush_log
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 461
      functionLinenumberEnd: 477
      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:467,7'
          Dst:             log_write
        - Src:             'log.c:470,4'
          Dst:             close
        - Src:             'log.c:475,7'
          Dst:             nanosleep
    - functionName:    log_write
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 287
      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:187,27'
          Dst:             getpid
        - Src:             'log.c:189,4'
          Dst:             free_entry
        - Src:             'log.c:195,17'
          Dst:             write
        - Src:             'log.c:201,8'
          Dst:             free_entry
        - Src:             'log.c:206,5'
          Dst:             my_syslog
        - Src:             'log.c:212,11'
          Dst:             __errno_location
        - Src:             'log.c:231,12'
          Dst:             log_reopen
        - Src:             'log.c:251,8'
          Dst:             safe_strncpy
        - Src:             'log.c:254,12'
          Dst:             connect
        - Src:             'log.c:275,9'
          Dst:             log_reopen
        - Src:             'log.c:284,48'
          Dst:             strerror
        - Src:             'log.c:284,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: 128
      functionLinenumberEnd: 156
      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:132,2'
          Dst:             close
        - Src:             'log.c:137,11'
          Dst:             open64
        - Src:             'log.c:147,13'
          Dst:             socket
        - Src:             'log.c:150,50'
          Dst:             fcntl64
        - Src:             'log.c:151,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: 455
      functionLinenumberEnd: 458
      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:456,33'
          Dst:             poll_check
        - Src:             'log.c:457,5'
          Dst:             log_write
    - functionName:    set_log_writer
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 452
      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:451,5'
          Dst:             poll_listen
    - functionName:    log_start
      functionSourceFile: '/src/dnsmasq/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         45
      ICount:          214
      EdgeCount:       61
      CyclomaticComplexity: 18
      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:105,11'
          Dst:             fstat64
        - Src:             'log.c:110,8'
          Dst:             fchown
        - Src:             'log.c:111,12'
          Dst:             __errno_location
        - Src:             'log.c:119,8'
          Dst:             getgid
        - Src:             'log.c:120,12'
          Dst:             fchmod
    - 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:    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:    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:    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:    25
      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: 374
      functionLinenumberEnd: 377
      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:376,3'
          Dst:             nl_multicast_state
    - functionName:    nl_multicast_state
      functionSourceFile: '/src/dnsmasq/src/netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 371
      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:366,19'
          Dst:             netlink_recv
        - Src:             'netlink.c:366,19'
          Dst:             netlink_recv
        - Src:             'netlink.c:369,10'
          Dst:             nl_async
        - Src:             'netlink.c:370,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_real
        - 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_real
        - Src:             'netlink.c:127,6'
          Dst:             expand_buf_real
        - 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: 381
      functionLinenumberEnd: 412
      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:386,53'
          Dst:             strerror
        - Src:             'netlink.c:386,2'
          Dst:             my_syslog
        - Src:             'netlink.c:402,4'
          Dst:             queue_event
        - Src:             'netlink.c:409,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: 357
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         167
      ICount:          783
      EdgeCount:       237
      CyclomaticComplexity: 72
      functionsReached:
        - __bswap_32
        - __errno_location
        - my_syslog
        - netlink_recv
        - nl_async
        - nl_multicast_state
        - retry_send
        - sendto
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'netlink.c:171,7'
          Dst:             my_syslog
        - Src:             'netlink.c:194,20'
          Dst:             sendto
        - Src:             'netlink.c:194,9'
          Dst:             retry_send
        - Src:             'netlink.c:197,7'
          Dst:             __errno_location
        - Src:             'netlink.c:202,18'
          Dst:             netlink_recv
        - Src:             'netlink.c:206,8'
          Dst:             nl_multicast_state
        - Src:             'netlink.c:202,18'
          Dst:             netlink_recv
        - Src:             'netlink.c:216,14'
          Dst:             nl_async
        - Src:             'netlink.c:239,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
        - free_real
        - iface_check
        - indextoname
        - ioctl
        - sockaddr_isequal
        - strcmp
        - strcpy
        - strlen
        - strncmp
        - whine_malloc_real
        - 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_real
        - 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_real
        - Src:             'network.c:344,12'
          Dst:             whine_malloc_real
        - Src:             'network.c:361,6'
          Dst:             strncmp
        - Src:             'network.c:388,14'
          Dst:             whine_malloc_real
        - Src:             'network.c:436,14'
          Dst:             whine_malloc_real
        - Src:             'network.c:461,28'
          Dst:             strncmp
        - Src:             'network.c:471,9'
          Dst:             whine_malloc_real
        - Src:             'network.c:492,9'
          Dst:             sockaddr_isequal
        - Src:             'network.c:506,18'
          Dst:             strcmp
        - Src:             'network.c:509,24'
          Dst:             whine_malloc_real
        - Src:             'network.c:511,20'
          Dst:             strlen
        - Src:             'network.c:511,20'
          Dst:             whine_malloc_real
        - Src:             'network.c:513,8'
          Dst:             strcpy
        - Src:             'network.c:519,6'
          Dst:             free_real
        - 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_real
        - Src:             'network.c:567,11'
          Dst:             ioctl
        - Src:             'network.c:582,26'
          Dst:             strlen
        - Src:             'network.c:582,26'
          Dst:             whine_malloc_real
        - Src:             'network.c:589,7'
          Dst:             free_real
        - 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:    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:    12
      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:    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:    11
      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: 1774
      functionLinenumberEnd: 1807
      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:1783,5'
          Dst:             enumerate_interfaces
        - Src:             'network.c:1786,5'
          Dst:             create_bound_listeners
        - Src:             'network.c:1796,5'
          Dst:             join_multicast
        - Src:             'network.c:1799,5'
          Dst:             dhcp_construct_contexts
        - Src:             'network.c:1802,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: 1303
      functionLinenumberEnd: 1359
      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:1324,6'
          Dst:             inet_pton
        - Src:             'network.c:1327,3'
          Dst:             setsockopt
        - Src:             'network.c:1328,14'
          Dst:             __errno_location
        - Src:             'network.c:1330,6'
          Dst:             inet_pton
        - Src:             'network.c:1333,3'
          Dst:             setsockopt
        - Src:             'network.c:1334,14'
          Dst:             __errno_location
        - Src:             'network.c:1336,6'
          Dst:             inet_pton
        - Src:             'network.c:1339,3'
          Dst:             setsockopt
        - Src:             'network.c:1340,14'
          Dst:             __errno_location
        - Src:             'network.c:1345,3'
          Dst:             __errno_location
        - Src:             'network.c:1349,5'
          Dst:             my_syslog
        - Src:             'network.c:1353,5'
          Dst:             die
        - Src:             'network.c:1355,40'
          Dst:             strerror
        - Src:             'network.c:1355,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
        - free_real
        - 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
        - Src:             'network.c:718,3'
          Dst:             free_real
    - 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:
        - free_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:660,9'
          Dst:             free_real
        - Src:             'network.c:661,9'
          Dst:             free_real
    - functionName:    reload_servers
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1695
      functionLinenumberEnd: 1770
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          160
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - __bswap_16
        - __errno_location
        - add_update_server
        - cleanup_servers
        - fclose
        - fopen64
        - get_line_alloc
        - if_nametoindex
        - inet_pton
        - mark_servers
        - my_syslog
        - strchr
        - strcmp
        - strerror
        - strtok
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1701,13'
          Dst:             fopen64
        - Src:             'network.c:1703,70'
          Dst:             __errno_location
        - Src:             'network.c:1703,61'
          Dst:             strerror
        - Src:             'network.c:1703,7'
          Dst:             my_syslog
        - Src:             'network.c:1707,3'
          Dst:             mark_servers
        - Src:             'network.c:1709,10'
          Dst:             get_line_alloc
        - Src:             'network.c:1712,21'
          Dst:             strtok
        - Src:             'network.c:1716,11'
          Dst:             strcmp
        - Src:             'network.c:1716,47'
          Dst:             strcmp
        - Src:             'network.c:1718,21'
          Dst:             strtok
        - Src:             'network.c:1724,11'
          Dst:             inet_pton
        - Src:             'network.c:1730,23'
          Dst:             __bswap_16
        - Src:             'network.c:1732,30'
          Dst:             __bswap_16
        - Src:             'network.c:1737,21'
          Dst:             strchr
        - Src:             'network.c:1742,22'
          Dst:             if_nametoindex
        - Src:             'network.c:1745,8'
          Dst:             inet_pton
        - Src:             'network.c:1752,29'
          Dst:             __bswap_16
        - Src:             'network.c:1755,36'
          Dst:             __bswap_16
        - Src:             'network.c:1762,7'
          Dst:             add_update_server
        - Src:             'network.c:1766,3'
          Dst:             fclose
        - Src:             'network.c:1767,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: 1560
      functionLinenumberEnd: 1690
      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
        - free_real
        - loop_send_probes
        - mark_servers
        - my_syslog
        - prettyprint_addr
        - sockaddr_isequal
        - strerror
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1571,5'
          Dst:             loop_send_probes
        - Src:             'network.c:1575,3'
          Dst:             mark_servers
        - Src:             'network.c:1579,5'
          Dst:             enumerate_interfaces
        - Src:             'network.c:1587,14'
          Dst:             prettyprint_addr
        - Src:             'network.c:1598,6'
          Dst:             sockaddr_isequal
        - Src:             'network.c:1602,4'
          Dst:             my_syslog
        - Src:             'network.c:1609,18'
          Dst:             allocate_sfd
        - Src:             'network.c:1610,4'
          Dst:             __errno_location
        - Src:             'network.c:1614,25'
          Dst:             strerror
        - Src:             'network.c:1612,4'
          Dst:             my_syslog
        - Src:             'network.c:1623,2'
          Dst:             my_syslog
        - Src:             'network.c:1639,4'
          Dst:             my_syslog
        - Src:             'network.c:1643,2'
          Dst:             my_syslog
        - Src:             'network.c:1646,2'
          Dst:             my_syslog
        - Src:             'network.c:1648,2'
          Dst:             my_syslog
        - Src:             'network.c:1663,7'
          Dst:             my_syslog
        - Src:             'network.c:1666,3'
          Dst:             my_syslog
        - Src:             'network.c:1670,5'
          Dst:             my_syslog
        - Src:             'network.c:1672,5'
          Dst:             my_syslog
        - Src:             'network.c:1681,4'
          Dst:             close
        - Src:             'network.c:1682,4'
          Dst:             free_real
        - Src:             'network.c:1688,3'
          Dst:             cleanup_servers
        - Src:             'network.c:1689,3'
          Dst:             build_server_array
    - functionName:    allocate_sfd
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1453
      functionLinenumberEnd: 1510
      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
        - free_real
        - local_bind
        - safe_strncpy
        - setsockopt
        - sockaddr_isequal
        - socket
        - strcmp
        - whine_malloc_real
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1463,7'
          Dst:             __errno_location
        - Src:             'network.c:1466,25'
          Dst:             __bswap_16
        - Src:             'network.c:1470,27'
          Dst:             __bswap_16
        - Src:             'network.c:1477,2'
          Dst:             sockaddr_isequal
        - Src:             'network.c:1478,2'
          Dst:             strcmp
        - Src:             'network.c:1482,3'
          Dst:             __errno_location
        - Src:             'network.c:1483,15'
          Dst:             whine_malloc_real
        - Src:             'network.c:1486,18'
          Dst:             socket
        - Src:             'network.c:1488,7'
          Dst:             free_real
        - Src:             'network.c:1492,42'
          Dst:             setsockopt
        - Src:             'network.c:1493,8'
          Dst:             local_bind
        - Src:             'network.c:1493,59'
          Dst:             fix_fd
        - Src:             'network.c:1496,7'
          Dst:             close
        - Src:             'network.c:1497,7'
          Dst:             free_real
        - Src:             'network.c:1502,3'
          Dst:             safe_strncpy
    - functionName:    local_bind
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1450
      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:1384,14'
          Dst:             rand16
        - Src:             'network.c:1384,14'
          Dst:             __bswap_16
        - Src:             'network.c:1403,51'
          Dst:             sa_len
        - Src:             'network.c:1403,11'
          Dst:             bind
        - Src:             'network.c:1406,12'
          Dst:             __errno_location
        - Src:             'network.c:1415,27'
          Dst:             __bswap_16
        - Src:             'network.c:1421,9'
          Dst:             rand16
        - Src:             'network.c:0,0'
          Dst:             __bswap_16
        - Src:             'network.c:1429,34'
          Dst:             __bswap_32
        - Src:             'network.c:1430,18'
          Dst:             setsockopt
        - Src:             'network.c:1436,34'
          Dst:             __bswap_32
        - Src:             'network.c:1437,18'
          Dst:             setsockopt
        - Src:             'network.c:1445,7'
          Dst:             setsockopt
    - functionName:    pre_allocate_sfds
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1515
      functionLinenumberEnd: 1557
      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:1525,26'
          Dst:             __bswap_16
        - Src:             'network.c:1529,18'
          Dst:             allocate_sfd
        - Src:             'network.c:1535,28'
          Dst:             __bswap_16
        - Src:             'network.c:1539,18'
          Dst:             allocate_sfd
        - Src:             'network.c:1544,10'
          Dst:             allocate_sfd
        - Src:             'network.c:1545,2'
          Dst:             __errno_location
        - Src:             'network.c:1548,8'
          Dst:             prettyprint_addr
        - Src:             'network.c:1551,6'
          Dst:             strlen
        - Src:             'network.c:1552,6'
          Dst:             strcat
        - Src:             'network.c:1554,2'
          Dst:             die
    - functionName:    is_dad_listeners
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1290
      functionLinenumberEnd: 1299
      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: 1281
      functionLinenumberEnd: 1287
      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:1286,7'
          Dst:             my_syslog
    - functionName:    warn_wild_labels
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1272
      functionLinenumberEnd: 1278
      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:1277,7'
          Dst:             my_syslog
    - functionName:    warn_bound_listeners
      functionSourceFile: '/src/dnsmasq/src/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1252
      functionLinenumberEnd: 1269
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          105
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - inet_ntop
        - my_syslog
        - private_net
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'network.c:1258,42'
          Dst:             private_net
        - Src:             'network.c:1260,2'
          Dst:             inet_ntop
        - Src:             'network.c:1262,2'
          Dst:             my_syslog
        - Src:             'network.c:1268,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: 1361
      functionLinenumberEnd: 1375
      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:1364,10'
          Dst:             is_tag_prefix
        - Src:             'option.c:1366,21'
          Dst:             split
        - Src:             'option.c:1367,12'
          Dst:             dhcp_netid_create
        - Src:             'option.c:1364,10'
          Dst:             is_tag_prefix
        - Src:             'option.c:1372,7'
          Dst:             dhcp_netid_free
    - functionName:    is_tag_prefix
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1323
      functionLinenumberEnd: 1328
      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:1324,15'
          Dst:             strstr
        - Src:             'option.c:1324,45'
          Dst:             strstr
    - functionName:    split
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 717
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - split_chr
      functionUses:    100
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:718,10'
          Dst:             split_chr
    - functionName:    dhcp_netid_create
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1339
      functionLinenumberEnd: 1344
      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_real
        - opt_string_alloc
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1341,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:1342,13'
          Dst:             opt_string_alloc
    - functionName:    dhcp_netid_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1348
      functionLinenumberEnd: 1356
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - free_real
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1353,7'
          Dst:             free_real
        - Src:             'option.c:1354,7'
          Dst:             free_real
    - functionName:    opt_malloc_real
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 662
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - longjmp
        - safe_malloc
        - whine_malloc_real
      functionUses:    88
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:667,13'
          Dst:             whine_malloc_real
        - Src:             'option.c:669,2'
          Dst:             longjmp
        - Src:             'option.c:672,11'
          Dst:             safe_malloc
    - functionName:    opt_string_alloc
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 691
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          34
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - opt_malloc_real
        - strlen
        - unhide_metas
      functionUses:    64
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:682,20'
          Dst:             strlen
        - Src:             'option.c:684,13'
          Dst:             opt_malloc_real
        - Src:             'option.c:688,7'
          Dst:             unhide_metas
    - functionName:    unhide_metas
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 655
      functionLinenumberEnd: 659
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          42
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - unhide_meta
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:658,13'
          Dst:             unhide_meta
    - functionName:    unhide_meta
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 645
      functionLinenumberEnd: 651
      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: 699
      functionLinenumberEnd: 714
      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:702,23'
          Dst:             strchr
    - functionName:    parse_dhcp_opt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1457
      functionLinenumberEnd: 2047
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         493
      ICount:          2206
      EdgeCount:       680
      CyclomaticComplexity: 189
      functionsReached:
        - __bswap_32
        - atoi
        - canonicalise_opt
        - dhcp_netid_create
        - dhcp_opt_free
        - do_rfc1035_name
        - free_real
        - inet_pton
        - is_tag_prefix
        - lookup_dhcp_len
        - lookup_dhcp_opt
        - opt_malloc_real
        - opt_string_alloc
        - parse_hex
        - set_prefix
        - split
        - split_chr
        - strcmp
        - strlen
        - strstr
        - unhide_metas
      functionUses:    1
      BranchProfiles:
        - Branch String:   'option.c:1669,4'
          Branch Sides:    []
      Callsites:
        - Src:             'option.c:1458,26'
          Dst:             opt_malloc_real
        - Src:             'option.c:1474,15'
          Dst:             split
        - Src:             'option.c:1482,15'
          Dst:             atoi
        - Src:             'option.c:1488,11'
          Dst:             strstr
        - Src:             'option.c:1490,20'
          Dst:             lookup_dhcp_opt
        - Src:             'option.c:1492,18'
          Dst:             lookup_dhcp_len
        - Src:             'option.c:1500,16'
          Dst:             strstr
        - Src:             'option.c:1508,19'
          Dst:             atoi
        - Src:             'option.c:1514,24'
          Dst:             lookup_dhcp_opt
        - Src:             'option.c:1516,15'
          Dst:             lookup_dhcp_len
        - Src:             'option.c:1526,16'
          Dst:             strstr
        - Src:             'option.c:1528,43'
          Dst:             opt_string_alloc
        - Src:             'option.c:1533,16'
          Dst:             strstr
        - Src:             'option.c:1535,19'
          Dst:             atoi
        - Src:             'option.c:1540,16'
          Dst:             strstr
        - Src:             'option.c:1542,19'
          Dst:             atoi
        - Src:             'option.c:1553,24'
          Dst:             is_tag_prefix
        - Src:             'option.c:1553,54'
          Dst:             set_prefix
        - Src:             'option.c:1554,17'
          Dst:             dhcp_netid_create
        - Src:             'option.c:1568,12'
          Dst:             lookup_dhcp_len
        - Src:             'option.c:1574,17'
          Dst:             lookup_dhcp_len
        - Src:             'option.c:1665,47'
          Dst:             strlen
        - Src:             'option.c:1693,15'
          Dst:             opt_malloc_real
        - Src:             'option.c:1694,10'
          Dst:             atoi
        - Src:             'option.c:1695,25'
          Dst:             __bswap_32
        - Src:             'option.c:1700,15'
          Dst:             opt_malloc_real
        - Src:             'option.c:1701,4'
          Dst:             parse_hex
        - Src:             'option.c:1706,17'
          Dst:             atoi
        - Src:             'option.c:1726,15'
          Dst:             opt_malloc_real
        - Src:             'option.c:1737,20'
          Dst:             opt_malloc_real
        - Src:             'option.c:1749,16'
          Dst:             split
        - Src:             'option.c:1750,16'
          Dst:             split_chr
        - Src:             'option.c:1751,13'
          Dst:             inet_pton
        - Src:             'option.c:1761,19'
          Dst:             atoi
        - Src:             'option.c:1779,20'
          Dst:             opt_malloc_real
        - Src:             'option.c:1784,16'
          Dst:             split
        - Src:             'option.c:1789,12'
          Dst:             strlen
        - Src:             'option.c:1792,12'
          Dst:             inet_pton
        - Src:             'option.c:1815,16'
          Dst:             split
        - Src:             'option.c:1822,9'
          Dst:             strcmp
        - Src:             'option.c:1824,21'
          Dst:             canonicalise_opt
        - Src:             'option.c:1827,18'
          Dst:             strlen
        - Src:             'option.c:1830,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:1834,9'
          Dst:             free_real
        - Src:             'option.c:1852,5'
          Dst:             free_real
        - Src:             'option.c:1858,13'
          Dst:             strcmp
        - Src:             'option.c:1868,13'
          Dst:             split
        - Src:             'option.c:1888,15'
          Dst:             strlen
        - Src:             'option.c:1888,15'
          Dst:             opt_malloc_real
        - Src:             'option.c:1891,16'
          Dst:             split
        - Src:             'option.c:1895,15'
          Dst:             strlen
        - Src:             'option.c:1896,5'
          Dst:             unhide_metas
        - Src:             'option.c:1902,13'
          Dst:             split
        - Src:             'option.c:1919,15'
          Dst:             strlen
        - Src:             'option.c:1919,15'
          Dst:             opt_malloc_real
        - Src:             'option.c:1922,16'
          Dst:             split
        - Src:             'option.c:1926,34'
          Dst:             atoi
        - Src:             'option.c:1933,16'
          Dst:             split
        - Src:             'option.c:1940,15'
          Dst:             strlen
        - Src:             'option.c:1941,5'
          Dst:             unhide_metas
        - Src:             'option.c:1947,13'
          Dst:             split
        - Src:             'option.c:1959,16'
          Dst:             split
        - Src:             'option.c:1963,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:1967,12'
          Dst:             strlen
        - Src:             'option.c:1967,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:1972,9'
          Dst:             free_real
        - Src:             'option.c:1977,11'
          Dst:             do_rfc1035_name
        - Src:             'option.c:1985,5'
          Dst:             free_real
        - Src:             'option.c:1988,13'
          Dst:             split
        - Src:             'option.c:1997,19'
          Dst:             strlen
        - Src:             'option.c:1999,36'
          Dst:             opt_string_alloc
        - Src:             'option.c:2045,3'
          Dst:             dhcp_opt_free
    - functionName:    set_prefix
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1331
      functionLinenumberEnd: 1336
      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:1332,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: 722
      functionLinenumberEnd: 742
      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_real
        - unhide_metas
      functionUses:    33
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:730,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:732,3'
          Dst:             unhide_metas
        - Src:             'option.c:733,15'
          Dst:             canonicalise
        - Src:             'option.c:736,2'
          Dst:             longjmp
        - Src:             'option.c:738,2'
          Dst:             die
    - functionName:    dhcp_opt_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1447
      functionLinenumberEnd: 1453
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - dhcp_netid_free
        - free_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1449,5'
          Dst:             free_real
        - Src:             'option.c:1450,3'
          Dst:             dhcp_netid_free
        - Src:             'option.c:1451,3'
          Dst:             free_real
        - Src:             'option.c:1452,3'
          Dst:             free_real
    - functionName:    dhcp_context_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1434
      functionLinenumberEnd: 1444
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - dhcp_netid_free
        - free_real
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1437,7'
          Dst:             dhcp_netid_free
        - Src:             'option.c:1438,7'
          Dst:             free_real
        - Src:             'option.c:1440,7'
          Dst:             free_real
        - Src:             'option.c:1442,7'
          Dst:             free_real
    - functionName:    strtoul_check
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 769
      functionLinenumberEnd: 781
      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:772,8'
          Dst:             numeric_check
        - Src:             'option.c:774,7'
          Dst:             strtoul
        - Src:             'option.c:775,7'
          Dst:             __errno_location
    - functionName:    numeric_check
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 745
      functionLinenumberEnd: 758
      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:751,3'
          Dst:             unhide_metas
    - functionName:    domain_rev6
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1222
      functionLinenumberEnd: 1307
      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:1241,22'
          Dst:             parse_server
        - Src:             'option.c:1277,14'
          Dst:             sprintf
        - Src:             'option.c:1284,9'
          Dst:             add_update_server
        - Src:             'option.c:1292,11'
          Dst:             parse_server_next
        - Src:             'option.c:1294,22'
          Dst:             parse_server_addr
        - Src:             'option.c:1297,13'
          Dst:             add_update_server
        - Src:             'option.c:1302,6'
          Dst:             freeaddrinfo
    - functionName:    parse_server
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 901
      functionLinenumberEnd: 1005
      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:912,7'
          Dst:             strcmp
        - Src:             'option.c:921,27'
          Dst:             split_chr
        - Src:             'option.c:922,17'
          Dst:             split_chr
        - Src:             'option.c:923,8'
          Dst:             atoi_check16
        - Src:             'option.c:926,17'
          Dst:             split_chr
        - Src:             'option.c:927,8'
          Dst:             atoi_check16
        - Src:             'option.c:930,24'
          Dst:             split_chr
        - Src:             'option.c:933,31'
          Dst:             split_chr
        - Src:             'option.c:938,2'
          Dst:             safe_strncpy
        - Src:             'option.c:946,7'
          Dst:             inet_pton
        - Src:             'option.c:948,12'
          Dst:             inet_pton
        - Src:             'option.c:981,15'
          Dst:             getaddrinfo
        - Src:             'option.c:999,13'
          Dst:             gai_strerror
    - functionName:    parse_server_next
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1103
      functionLinenumberEnd: 1133
      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: 1008
      functionLinenumberEnd: 1100
      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:1011,37'
          Dst:             __bswap_16
        - Src:             'option.c:1017,44'
          Dst:             __bswap_16
        - Src:             'option.c:1023,41'
          Dst:             __bswap_16
        - Src:             'option.c:1024,8'
          Dst:             inet_pton
        - Src:             'option.c:1026,12'
          Dst:             inet_pton
        - Src:             'option.c:1042,5'
          Dst:             safe_strncpy
        - Src:             'option.c:1052,58'
          Dst:             if_nametoindex
        - Src:             'option.c:1055,39'
          Dst:             __bswap_16
        - Src:             'option.c:1058,46'
          Dst:             __bswap_16
        - Src:             'option.c:1069,43'
          Dst:             __bswap_16
        - Src:             'option.c:1070,8'
          Dst:             inet_pton
        - Src:             'option.c:1072,12'
          Dst:             inet_pton
        - Src:             'option.c:1088,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: 784
      functionLinenumberEnd: 791
      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:785,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: 761
      functionLinenumberEnd: 766
      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:762,8'
          Dst:             numeric_check
        - Src:             'option.c:764,10'
          Dst:             atoi
    - functionName:    domain_rev4
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1136
      functionLinenumberEnd: 1219
      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:1155,22'
          Dst:             parse_server
        - Src:             'option.c:1189,14'
          Dst:             sprintf
        - Src:             'option.c:1196,9'
          Dst:             add_update_server
        - Src:             'option.c:1204,11'
          Dst:             parse_server_next
        - Src:             'option.c:1206,22'
          Dst:             parse_server_addr
        - Src:             'option.c:1209,13'
          Dst:             add_update_server
        - Src:             'option.c:1214,6'
          Dst:             freeaddrinfo
    - functionName:    parse_mysockaddr
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 889
      functionLinenumberEnd: 898
      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:890,7'
          Dst:             inet_pton
        - Src:             'option.c:892,12'
          Dst:             inet_pton
    - functionName:    clear_dhcp_opt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5932
      functionLinenumberEnd: 5947
      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:5942,4'
          Dst:             dhcp_opt_free
    - functionName:    dhcp_netid_list_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1379
      functionLinenumberEnd: 1393
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          37
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - free_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1389,7'
          Dst:             free_real
        - Src:             'option.c:1390,7'
          Dst:             free_real
        - Src:             'option.c:1391,7'
          Dst:             free_real
    - functionName:    dhcp_config_free
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1396
      functionLinenumberEnd: 1431
      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
        - free_real
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1405,4'
          Dst:             free_real
        - Src:             'option.c:1408,7'
          Dst:             dhcp_netid_list_free
        - Src:             'option.c:1409,7'
          Dst:             dhcp_netid_free
        - Src:             'option.c:1412,9'
          Dst:             free_real
        - Src:             'option.c:1414,2'
          Dst:             free_real
        - Src:             'option.c:1424,8'
          Dst:             free_real
        - Src:             'option.c:1429,7'
          Dst:             free_real
    - functionName:    hide_meta
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 634
      functionLinenumberEnd: 642
      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: 1310
      functionLinenumberEnd: 1318
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - opt_malloc_real
        - opt_string_alloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:1311,23'
          Dst:             opt_malloc_real
        - Src:             'option.c:1316,15'
          Dst:             opt_string_alloc
    - functionName:    add_txt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 807
      functionLinenumberEnd: 824
      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_real
        - opt_string_alloc
        - strlen
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:808,26'
          Dst:             opt_malloc_real
        - Src:             'option.c:812,20'
          Dst:             strlen
        - Src:             'option.c:813,16'
          Dst:             opt_malloc_real
        - Src:             'option.c:820,13'
          Dst:             opt_string_alloc
    - functionName:    one_opt
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2062
      functionLinenumberEnd: 5514
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1828
      ICount:          8716
      EdgeCount:       2487
      CyclomaticComplexity: 661
      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
        - free_real
        - 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_real
        - 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:2100,3'
          Branch Sides:    []
        - Branch String:   'option.c:4007,7'
          Branch Sides:    []
        - Branch String:   'option.c:4210,7'
          Branch Sides:    []
        - Branch String:   'option.c:4665,3'
          Branch Sides:    []
      Callsites:
        - Src:             'option.c:2067,5'
          Dst:             strcpy
        - Src:             'option.c:2093,7'
          Dst:             set_option_bool
        - Src:             'option.c:2104,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2107,6'
          Dst:             one_file
        - Src:             'option.c:2108,6'
          Dst:             free_real
        - Src:             'option.c:2115,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2118,6'
          Dst:             one_file
        - Src:             'option.c:2119,6'
          Dst:             free_real
        - Src:             'option.c:2134,10'
          Dst:             split
        - Src:             'option.c:2135,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:2140,14'
          Dst:             split
        - Src:             'option.c:2143,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:2148,9'
          Dst:             free_real
        - Src:             'option.c:2154,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2162,18'
          Dst:             opt_string_alloc
        - Src:             'option.c:2167,21'
          Dst:             opendir
        - Src:             'option.c:2168,4'
          Dst:             die
        - Src:             'option.c:2170,16'
          Dst:             readdir64
        - Src:             'option.c:2172,19'
          Dst:             strlen
        - Src:             'option.c:2187,19'
          Dst:             strlen
        - Src:             'option.c:2189,4'
          Dst:             strcmp
        - Src:             'option.c:2199,15'
          Dst:             strlen
        - Src:             'option.c:2201,7'
          Dst:             strcmp
        - Src:             'option.c:2207,13'
          Dst:             strlen
        - Src:             'option.c:2207,13'
          Dst:             opt_malloc_real
        - Src:             'option.c:2208,6'
          Dst:             strcpy
        - Src:             'option.c:2209,6'
          Dst:             strlen
        - Src:             'option.c:2210,6'
          Dst:             strcat
        - Src:             'option.c:2213,10'
          Dst:             stat64
        - Src:             'option.c:2214,8'
          Dst:             die
        - Src:             'option.c:2220,28'
          Dst:             opt_malloc_real
        - Src:             'option.c:2224,9'
          Dst:             strcmp
        - Src:             'option.c:2231,8'
          Dst:             free_real
        - Src:             'option.c:2236,4'
          Dst:             one_file
        - Src:             'option.c:2238,2'
          Dst:             closedir
        - Src:             'option.c:2239,2'
          Dst:             free_real
        - Src:             'option.c:2243,6'
          Dst:             free_real
        - Src:             'option.c:2244,6'
          Dst:             free_real
        - Src:             'option.c:2249,6'
          Dst:             free_real
        - Src:             'option.c:2250,6'
          Dst:             free_real
        - Src:             'option.c:2255,6'
          Dst:             free_real
        - Src:             'option.c:2256,6'
          Dst:             free_real
        - Src:             'option.c:2262,7'
          Dst:             set_option_bool
        - Src:             'option.c:2266,12'
          Dst:             split
        - Src:             'option.c:2268,34'
          Dst:             opt_malloc_real
        - Src:             'option.c:2269,22'
          Dst:             split_chr
        - Src:             'option.c:2272,14'
          Dst:             parse_mysockaddr
        - Src:             'option.c:2274,3'
          Dst:             strcpy
        - Src:             'option.c:2274,3'
          Dst:             free_real
        - Src:             'option.c:2275,13'
          Dst:             atoi_check
        - Src:             'option.c:2276,3'
          Dst:             strcpy
        - Src:             'option.c:2276,3'
          Dst:             free_real
        - Src:             'option.c:2279,14'
          Dst:             atoi_check
        - Src:             'option.c:2280,6'
          Dst:             strcpy
        - Src:             'option.c:2280,6'
          Dst:             free_real
        - Src:             'option.c:2286,14'
          Dst:             opt_malloc_real
        - Src:             'option.c:2287,19'
          Dst:             split_chr
        - Src:             'option.c:2290,25'
          Dst:             parse_mysockaddr
        - Src:             'option.c:2292,21'
          Dst:             strcpy
        - Src:             'option.c:2292,21'
          Dst:             free_real
        - Src:             'option.c:2293,24'
          Dst:             atoi_check
        - Src:             'option.c:2294,21'
          Dst:             strcpy
        - Src:             'option.c:2294,21'
          Dst:             free_real
        - Src:             'option.c:2299,24'
          Dst:             atoi_check
        - Src:             'option.c:2300,21'
          Dst:             strcpy
        - Src:             'option.c:2300,21'
          Dst:             free_real
        - Src:             'option.c:2309,7'
          Dst:             set_option_bool
        - Src:             'option.c:2311,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:2317,7'
          Dst:             set_option_bool
        - Src:             'option.c:2319,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:2326,11'
          Dst:             strchr
        - Src:             'option.c:2326,31'
          Dst:             strcmp
        - Src:             'option.c:2327,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:2334,10'
          Dst:             hostname_isequal
        - Src:             'option.c:2346,25'
          Dst:             opt_string_alloc
        - Src:             'option.c:2351,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2367,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:2380,30'
          Dst:             opt_string_alloc
        - Src:             'option.c:2389,15'
          Dst:             split
        - Src:             'option.c:2392,21'
          Dst:             split
        - Src:             'option.c:2392,39'
          Dst:             atoi_check16
        - Src:             'option.c:2396,15'
          Dst:             canonicalise_opt
        - Src:             'option.c:2396,15'
          Dst:             canonicalise_opt
        - Src:             'option.c:2397,27'
          Dst:             canonicalise_opt
        - Src:             'option.c:2399,6'
          Dst:             free_real
        - Src:             'option.c:2400,6'
          Dst:             free_real
        - Src:             'option.c:2404,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:2415,32'
          Dst:             canonicalise_opt
        - Src:             'option.c:2420,27'
          Dst:             opt_string_alloc
        - Src:             'option.c:2424,27'
          Dst:             strtol
        - Src:             'option.c:2429,28'
          Dst:             opt_string_alloc
        - Src:             'option.c:2445,40'
          Dst:             opt_string_alloc
        - Src:             'option.c:2454,26'
          Dst:             opt_malloc_real
        - Src:             'option.c:2455,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2481,23'
          Dst:             opt_malloc_real
        - Src:             'option.c:2482,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:2497,15'
          Dst:             split
        - Src:             'option.c:2499,28'
          Dst:             opt_string_alloc
        - Src:             'option.c:2503,24'
          Dst:             opt_malloc_real
        - Src:             'option.c:2504,12'
          Dst:             split
        - Src:             'option.c:2506,4'
          Dst:             unhide_metas
        - Src:             'option.c:2507,8'
          Dst:             inet_pton
        - Src:             'option.c:2509,13'
          Dst:             inet_pton
        - Src:             'option.c:2513,20'
          Dst:             split_chr
        - Src:             'option.c:2514,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:2518,9'
          Dst:             strcmp
        - Src:             'option.c:2520,14'
          Dst:             strcmp
        - Src:             'option.c:2524,7'
          Dst:             free_real
        - Src:             'option.c:2525,7'
          Dst:             strcpy
        - Src:             'option.c:2525,7'
          Dst:             free_real
        - Src:             'option.c:2540,12'
          Dst:             split
        - Src:             'option.c:2541,10'
          Dst:             opt_malloc_real
        - Src:             'option.c:2542,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:2554,10'
          Dst:             split
        - Src:             'option.c:2556,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:2557,16'
          Dst:             canonicalise_opt
        - Src:             'option.c:2559,4'
          Dst:             free_real
        - Src:             'option.c:2574,14'
          Dst:             split
        - Src:             'option.c:2575,15'
          Dst:             split_chr
        - Src:             'option.c:2577,21'
          Dst:             atoi_check
        - Src:             'option.c:2580,10'
          Dst:             strstr
        - Src:             'option.c:2586,10'
          Dst:             inet_pton
        - Src:             'option.c:2588,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:2592,15'
          Dst:             inet_pton
        - Src:             'option.c:2594,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:2600,34'
          Dst:             opt_malloc_real
        - Src:             'option.c:2601,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:0,0'
          Dst:             strcpy
        - Src:             'option.c:2636,15'
          Dst:             split
        - Src:             'option.c:2637,29'
          Dst:             atoi
        - Src:             'option.c:2642,12'
          Dst:             split
        - Src:             'option.c:2643,25'
          Dst:             opt_string_alloc
        - Src:             'option.c:2651,16'
          Dst:             split
        - Src:             'option.c:2652,35'
          Dst:             atoi
        - Src:             'option.c:2656,13'
          Dst:             split
        - Src:             'option.c:2657,30'
          Dst:             atoi
        - Src:             'option.c:2659,33'
          Dst:             atoi
        - Src:             'option.c:2670,10'
          Dst:             split
        - Src:             'option.c:2671,12'
          Dst:             canonicalise_opt
        - Src:             'option.c:2672,4'
          Dst:             strcpy
        - Src:             'option.c:2675,6'
          Dst:             free_real
        - Src:             'option.c:2678,29'
          Dst:             opt_malloc_real
        - Src:             'option.c:2685,3'
          Dst:             unhide_metas
        - Src:             'option.c:2686,18'
          Dst:             split_chr
        - Src:             'option.c:2690,13'
          Dst:             split
        - Src:             'option.c:2691,12'
          Dst:             atoi_check
        - Src:             'option.c:2692,9'
          Dst:             strcpy
        - Src:             'option.c:2693,16'
          Dst:             inet_pton
        - Src:             'option.c:2702,24'
          Dst:             __bswap_32
        - Src:             'option.c:2702,24'
          Dst:             __bswap_32
        - Src:             'option.c:2703,42'
          Dst:             __bswap_32
        - Src:             'option.c:2711,25'
          Dst:             canonicalise_opt
        - Src:             'option.c:2712,9'
          Dst:             strlen
        - Src:             'option.c:2715,17'
          Dst:             strcmp
        - Src:             'option.c:2716,10'
          Dst:             strcpy
        - Src:             'option.c:2720,5'
          Dst:             domain_rev4
        - Src:             'option.c:2728,16'
          Dst:             inet_pton
        - Src:             'option.c:2730,25'
          Dst:             addr6part
        - Src:             'option.c:2745,4'
          Dst:             setaddr6part
        - Src:             'option.c:2746,4'
          Dst:             setaddr6part
        - Src:             'option.c:2752,25'
          Dst:             canonicalise_opt
        - Src:             'option.c:2753,9'
          Dst:             strlen
        - Src:             'option.c:2756,17'
          Dst:             strcmp
        - Src:             'option.c:2757,10'
          Dst:             strcpy
        - Src:             'option.c:2762,5'
          Dst:             domain_rev6
        - Src:             'option.c:2771,9'
          Dst:             strcpy
        - Src:             'option.c:0,0'
          Dst:             free_real
        - Src:             'option.c:2776,13'
          Dst:             split
        - Src:             'option.c:2777,17'
          Dst:             split
        - Src:             'option.c:2779,11'
          Dst:             inet_pton
        - Src:             'option.c:2784,14'
          Dst:             inet_pton
        - Src:             'option.c:2785,6'
          Dst:             strcpy
        - Src:             'option.c:2785,6'
          Dst:             free_real
        - Src:             'option.c:2787,16'
          Dst:             inet_pton
        - Src:             'option.c:2792,14'
          Dst:             inet_pton
        - Src:             'option.c:2793,6'
          Dst:             strcpy
        - Src:             'option.c:2793,6'
          Dst:             free_real
        - Src:             'option.c:2798,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:2802,9'
          Dst:             strcpy
        - Src:             'option.c:2802,9'
          Dst:             free_real
        - Src:             'option.c:2806,24'
          Dst:             canonicalise_opt
        - Src:             'option.c:2807,8'
          Dst:             strlen
        - Src:             'option.c:2808,6'
          Dst:             free_real
        - Src:             'option.c:0,0'
          Dst:             add_update_server
        - Src:             'option.c:2812,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:2812,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:2812,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:2822,12'
          Dst:             strrchr
        - Src:             'option.c:2828,6'
          Dst:             free_real
        - Src:             'option.c:2836,7'
          Dst:             strcmp
        - Src:             'option.c:2837,5'
          Dst:             set_option_bool
        - Src:             'option.c:2839,29'
          Dst:             canonicalise_opt
        - Src:             'option.c:2842,8'
          Dst:             strcpy
        - Src:             'option.c:2850,26'
          Dst:             opt_string_alloc
        - Src:             'option.c:2854,7'
          Dst:             set_option_bool
        - Src:             'option.c:2857,12'
          Dst:             split
        - Src:             'option.c:2858,8'
          Dst:             strstr
        - Src:             'option.c:2865,12'
          Dst:             strlen
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:2872,8'
          Dst:             set_option_bool
        - Src:             'option.c:2877,12'
          Dst:             strtoul
        - Src:             'option.c:2877,12'
          Dst:             strtoul
        - Src:             'option.c:2877,12'
          Dst:             strtoul
        - Src:             'option.c:2877,12'
          Dst:             strtoul
        - Src:             'option.c:2877,12'
          Dst:             strtoul
        - Src:             'option.c:2877,12'
          Dst:             strtoul
        - Src:             'option.c:2877,12'
          Dst:             strtoul
        - Src:             'option.c:2877,12'
          Dst:             strtoul
        - Src:             'option.c:0,0'
          Dst:             strcpy
        - Src:             'option.c:2880,13'
          Dst:             strstr
        - Src:             'option.c:2882,13'
          Dst:             strtoul_check
        - Src:             'option.c:2883,3'
          Dst:             strcpy
        - Src:             'option.c:2885,13'
          Dst:             strstr
        - Src:             'option.c:2887,13'
          Dst:             strtoul_check
        - Src:             'option.c:2888,3'
          Dst:             strcpy
        - Src:             'option.c:2891,6'
          Dst:             strcpy
        - Src:             'option.c:2899,2'
          Dst:             set_option_bool
        - Src:             'option.c:2902,4'
          Dst:             unhide_metas
        - Src:             'option.c:2903,8'
          Dst:             strcmp
        - Src:             'option.c:2904,6'
          Dst:             set_option_bool
        - Src:             'option.c:2905,13'
          Dst:             strcmp
        - Src:             'option.c:2906,6'
          Dst:             set_option_bool
        - Src:             'option.c:2908,6'
          Dst:             strcpy
        - Src:             'option.c:2913,26'
          Dst:             opt_string_alloc
        - Src:             'option.c:2917,27'
          Dst:             opt_string_alloc
        - Src:             'option.c:2923,28'
          Dst:             opt_string_alloc
        - Src:             'option.c:2929,17'
          Dst:             split
        - Src:             'option.c:2930,2'
          Dst:             if_names_add
        - Src:             'option.c:2936,7'
          Dst:             set_option_bool
        - Src:             'option.c:2946,22'
          Dst:             opt_malloc_real
        - Src:             'option.c:2947,10'
          Dst:             split
        - Src:             'option.c:2948,14'
          Dst:             opt_string_alloc
        - Src:             'option.c:2979,7'
          Dst:             set_option_bool
        - Src:             'option.c:2993,2'
          Dst:             unhide_metas
        - Src:             'option.c:2993,2'
          Dst:             unhide_metas
        - Src:             'option.c:2996,16'
          Dst:             split_chr
        - Src:             'option.c:2996,41'
          Dst:             atoi_check
        - Src:             'option.c:2997,4'
          Dst:             strcpy
        - Src:             'option.c:2999,6'
          Dst:             inet_pton
        - Src:             'option.c:2999,6'
          Dst:             inet_pton
        - Src:             'option.c:3001,11'
          Dst:             inet_pton
        - Src:             'option.c:3001,11'
          Dst:             inet_pton
        - Src:             'option.c:3002,4'
          Dst:             strcpy
        - Src:             'option.c:3013,4'
          Dst:             strcpy
        - Src:             'option.c:3015,10'
          Dst:             opt_malloc_real
        - Src:             'option.c:3043,22'
          Dst:             opt_malloc_real
        - Src:             'option.c:3044,10'
          Dst:             split
        - Src:             'option.c:3045,2'
          Dst:             unhide_metas
        - Src:             'option.c:3046,14'
          Dst:             inet_pton
        - Src:             'option.c:3054,18'
          Dst:             inet_pton
        - Src:             'option.c:3065,4'
          Dst:             strcpy
        - Src:             'option.c:3065,4'
          Dst:             free_real
        - Src:             'option.c:3086,2'
          Dst:             unhide_metas
        - Src:             'option.c:3092,12'
          Dst:             split_chr
        - Src:             'option.c:3093,10'
          Dst:             opt_malloc_real
        - Src:             'option.c:3094,18'
          Dst:             canonicalise_opt
        - Src:             'option.c:3121,2'
          Dst:             unhide_metas
        - Src:             'option.c:3130,21'
          Dst:             split_chr
        - Src:             'option.c:3130,21'
          Dst:             split_chr
        - Src:             'option.c:3142,10'
          Dst:             strcmp
        - Src:             'option.c:3144,15'
          Dst:             inet_pton
        - Src:             'option.c:3146,15'
          Dst:             inet_pton
        - Src:             'option.c:3153,17'
          Dst:             parse_server
        - Src:             'option.c:3154,8'
          Dst:             strcpy
        - Src:             'option.c:3161,43'
          Dst:             parse_server_next
        - Src:             'option.c:3165,52'
          Dst:             parse_server_addr
        - Src:             'option.c:3166,8'
          Dst:             strcpy
        - Src:             'option.c:3187,8'
          Dst:             add_update_server
        - Src:             'option.c:3188,5'
          Dst:             strcpy
        - Src:             'option.c:3193,17'
          Dst:             strlen
        - Src:             'option.c:3201,4'
          Dst:             freeaddrinfo
        - Src:             'option.c:3213,2'
          Dst:             unhide_metas
        - Src:             'option.c:3215,4'
          Dst:             strcpy
        - Src:             'option.c:3217,8'
          Dst:             split
        - Src:             'option.c:3219,17'
          Dst:             split_chr
        - Src:             'option.c:3219,42'
          Dst:             atoi_check
        - Src:             'option.c:3222,6'
          Dst:             inet_pton
        - Src:             'option.c:3227,19'
          Dst:             domain_rev4
        - Src:             'option.c:3228,8'
          Dst:             strcpy
        - Src:             'option.c:3230,11'
          Dst:             inet_pton
        - Src:             'option.c:3235,21'
          Dst:             domain_rev6
        - Src:             'option.c:3236,8'
          Dst:             strcpy
        - Src:             'option.c:3239,4'
          Dst:             strcpy
        - Src:             'option.c:3270,3'
          Dst:             unhide_metas
        - Src:             'option.c:3274,21'
          Dst:             split_chr
        - Src:             'option.c:3281,8'
          Dst:             strcmp
        - Src:             'option.c:3283,44'
          Dst:             canonicalise_opt
        - Src:             'option.c:3285,19'
          Dst:             opt_malloc_real
        - Src:             'option.c:3274,21'
          Dst:             split_chr
        - Src:             'option.c:3294,22'
          Dst:             opt_malloc_real
        - Src:             'option.c:3307,21'
          Dst:             opt_malloc_real
        - Src:             'option.c:3311,11'
          Dst:             split
        - Src:             'option.c:3312,17'
          Dst:             opt_string_alloc
        - Src:             'option.c:0,0'
          Dst:             strcpy
        - Src:             'option.c:3462,7'
          Dst:             atoi_check
        - Src:             'option.c:3463,4'
          Dst:             strcpy
        - Src:             'option.c:3485,12'
          Dst:             atoi_check16
        - Src:             'option.c:3486,2'
          Dst:             strcpy
        - Src:             'option.c:3490,12'
          Dst:             atoi_check16
        - Src:             'option.c:3491,2'
          Dst:             strcpy
        - Src:             'option.c:3495,12'
          Dst:             atoi_check16
        - Src:             'option.c:3496,2'
          Dst:             strcpy
        - Src:             'option.c:3500,12'
          Dst:             atoi_check
        - Src:             'option.c:3501,2'
          Dst:             strcpy
        - Src:             'option.c:3505,7'
          Dst:             set_option_bool
        - Src:             'option.c:3508,8'
          Dst:             strcmp
        - Src:             'option.c:3509,6'
          Dst:             set_option_bool
        - Src:             'option.c:3510,13'
          Dst:             strcmp
        - Src:             'option.c:3512,8'
          Dst:             set_option_bool
        - Src:             'option.c:3513,8'
          Dst:             set_option_bool
        - Src:             'option.c:3515,13'
          Dst:             strcmp
        - Src:             'option.c:3516,6'
          Dst:             set_option_bool
        - Src:             'option.c:3517,13'
          Dst:             strcmp
        - Src:             'option.c:3518,6'
          Dst:             set_option_bool
        - Src:             'option.c:3524,19'
          Dst:             atoi_check
        - Src:             'option.c:3525,2'
          Dst:             strcpy
        - Src:             'option.c:3531,20'
          Dst:             strcmp
        - Src:             'option.c:3532,2'
          Dst:             set_option_bool
        - Src:             'option.c:3533,17'
          Dst:             strcmp
        - Src:             'option.c:3534,2'
          Dst:             set_option_bool
        - Src:             'option.c:3536,2'
          Dst:             strcpy
        - Src:             'option.c:3542,7'
          Dst:             atoi_check
        - Src:             'option.c:3543,4'
          Dst:             strcpy
        - Src:             'option.c:3549,12'
          Dst:             atoi_check16
        - Src:             'option.c:3550,2'
          Dst:             strcpy
        - Src:             'option.c:3558,12'
          Dst:             atoi_check
        - Src:             'option.c:3559,2'
          Dst:             strcpy
        - Src:             'option.c:3571,7'
          Dst:             atoi_check
        - Src:             'option.c:3572,4'
          Dst:             strcpy
        - Src:             'option.c:3606,12'
          Dst:             split
        - Src:             'option.c:3607,9'
          Dst:             atoi_check
        - Src:             'option.c:3613,13'
          Dst:             atoi_check
        - Src:             'option.c:0,0'
          Dst:             strcpy
        - Src:             'option.c:3636,14'
          Dst:             split
        - Src:             'option.c:3637,11'
          Dst:             atoi_check
        - Src:             'option.c:3637,45'
          Dst:             rrtype
        - Src:             'option.c:3641,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:3641,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:3663,12'
          Dst:             atoi_check
        - Src:             'option.c:3664,2'
          Dst:             strcpy
        - Src:             'option.c:3670,12'
          Dst:             atoi_check
        - Src:             'option.c:3671,2'
          Dst:             strcpy
        - Src:             'option.c:3675,12'
          Dst:             atoi_check
        - Src:             'option.c:3676,2'
          Dst:             strcpy
        - Src:             'option.c:3680,15'
          Dst:             split
        - Src:             'option.c:3683,30'
          Dst:             opt_malloc_real
        - Src:             'option.c:3684,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:3685,18'
          Dst:             opt_string_alloc
        - Src:             'option.c:3690,24'
          Dst:             opt_string_alloc
        - Src:             'option.c:3694,21'
          Dst:             split
        - Src:             'option.c:3695,5'
          Dst:             atoi_check16
        - Src:             'option.c:3696,5'
          Dst:             atoi_check16
        - Src:             'option.c:3709,19'
          Dst:             strcasecmp
        - Src:             'option.c:3710,9'
          Dst:             set_option_bool
        - Src:             'option.c:3711,16'
          Dst:             strcasecmp
        - Src:             'option.c:3712,9'
          Dst:             set_option_bool
        - Src:             'option.c:3714,9'
          Dst:             strcpy
        - Src:             'option.c:3722,16'
          Dst:             split
        - Src:             'option.c:3722,31'
          Dst:             strlen
        - Src:             'option.c:3726,8'
          Dst:             strcmp
        - Src:             'option.c:3731,13'
          Dst:             opt_malloc_real
        - Src:             'option.c:3732,7'
          Dst:             strcpy
        - Src:             'option.c:3740,12'
          Dst:             split
        - Src:             'option.c:3741,8'
          Dst:             strlen
        - Src:             'option.c:3743,32'
          Dst:             opt_malloc_real
        - Src:             'option.c:3746,8'
          Dst:             strcpy
        - Src:             'option.c:3756,31'
          Dst:             opt_malloc_real
        - Src:             'option.c:3763,16'
          Dst:             split
        - Src:             'option.c:3770,6'
          Dst:             inet_pton
        - Src:             'option.c:3772,11'
          Dst:             inet_pton
        - Src:             'option.c:3773,21'
          Dst:             if_nametoindex
        - Src:             'option.c:3777,11'
          Dst:             inet_pton
        - Src:             'option.c:3779,11'
          Dst:             inet_pton
        - Src:             'option.c:3780,21'
          Dst:             if_nametoindex
        - Src:             'option.c:3766,6'
          Dst:             free_real
        - Src:             'option.c:3796,29'
          Dst:             opt_malloc_real
        - Src:             'option.c:3808,33'
          Dst:             split
        - Src:             'option.c:3810,7'
          Dst:             is_tag_prefix
        - Src:             'option.c:3814,23'
          Dst:             dhcp_netid_create
        - Src:             'option.c:3820,4'
          Dst:             dhcp_context_free
        - Src:             'option.c:3824,43'
          Dst:             set_prefix
        - Src:             'option.c:3824,26'
          Dst:             opt_string_alloc
        - Src:             'option.c:3836,17'
          Dst:             split
        - Src:             'option.c:3836,17'
          Dst:             split
        - Src:             'option.c:3836,17'
          Dst:             split
        - Src:             'option.c:3836,17'
          Dst:             split
        - Src:             'option.c:3836,17'
          Dst:             split
        - Src:             'option.c:3836,17'
          Dst:             split
        - Src:             'option.c:3836,17'
          Dst:             split
        - Src:             'option.c:3841,6'
          Dst:             dhcp_context_free
        - Src:             'option.c:3845,6'
          Dst:             inet_pton
        - Src:             'option.c:3851,10'
          Dst:             strcmp
        - Src:             'option.c:3853,15'
          Dst:             strcmp
        - Src:             'option.c:3855,16'
          Dst:             inet_pton
        - Src:             'option.c:3857,3'
          Dst:             dhcp_context_free
        - Src:             'option.c:3861,10'
          Dst:             __bswap_32
        - Src:             'option.c:3861,37'
          Dst:             __bswap_32
        - Src:             'option.c:3868,20'
          Dst:             strchr
        - Src:             'option.c:3869,4'
          Dst:             inet_pton
        - Src:             'option.c:3873,8'
          Dst:             is_same_net
        - Src:             'option.c:3875,7'
          Dst:             dhcp_context_free
        - Src:             'option.c:3880,17'
          Dst:             strchr
        - Src:             'option.c:3881,8'
          Dst:             inet_pton
        - Src:             'option.c:3889,11'
          Dst:             inet_pton
        - Src:             'option.c:3902,7'
          Dst:             strcmp
        - Src:             'option.c:3904,12'
          Dst:             strcmp
        - Src:             'option.c:3904,51'
          Dst:             strcmp
        - Src:             'option.c:3906,12'
          Dst:             strcmp
        - Src:             'option.c:3908,12'
          Dst:             strcmp
        - Src:             'option.c:3910,12'
          Dst:             strcmp
        - Src:             'option.c:3912,12'
          Dst:             strcmp
        - Src:             'option.c:3914,29'
          Dst:             inet_pton
        - Src:             'option.c:3916,12'
          Dst:             strstr
        - Src:             'option.c:3918,33'
          Dst:             opt_string_alloc
        - Src:             'option.c:3902,7'
          Dst:             strcmp
        - Src:             'option.c:3904,12'
          Dst:             strcmp
        - Src:             'option.c:3904,51'
          Dst:             strcmp
        - Src:             'option.c:3906,12'
          Dst:             strcmp
        - Src:             'option.c:3908,12'
          Dst:             strcmp
        - Src:             'option.c:3910,12'
          Dst:             strcmp
        - Src:             'option.c:3912,12'
          Dst:             strcmp
        - Src:             'option.c:3916,12'
          Dst:             strstr
        - Src:             'option.c:3918,33'
          Dst:             opt_string_alloc
        - Src:             'option.c:3932,23'
          Dst:             atoi
        - Src:             'option.c:3949,19'
          Dst:             is_same_net6
        - Src:             'option.c:3954,3'
          Dst:             dhcp_context_free
        - Src:             'option.c:3955,3'
          Dst:             strcpy
        - Src:             'option.c:3966,8'
          Dst:             is_same_net6
        - Src:             'option.c:3968,7'
          Dst:             dhcp_context_free
        - Src:             'option.c:3973,10'
          Dst:             addr6part
        - Src:             'option.c:3973,36'
          Dst:             addr6part
        - Src:             'option.c:3983,6'
          Dst:             dhcp_context_free
        - Src:             'option.c:3991,3'
          Dst:             dhcp_context_free
        - Src:             'option.c:3995,10'
          Dst:             strcmp
        - Src:             'option.c:4000,15'
          Dst:             strcmp
        - Src:             'option.c:4005,7'
          Dst:             strlen
        - Src:             'option.c:4037,25'
          Dst:             atoi
        - Src:             'option.c:4035,9'
          Dst:             free_real
        - Src:             'option.c:4056,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:4070,14'
          Dst:             split
        - Src:             'option.c:4071,10'
          Dst:             strchr
        - Src:             'option.c:4083,8'
          Dst:             strchr
        - Src:             'option.c:4084,12'
          Dst:             parse_hex
        - Src:             'option.c:4087,8'
          Dst:             unhide_metas
        - Src:             'option.c:4088,20'
          Dst:             strlen
        - Src:             'option.c:4096,26'
          Dst:             opt_malloc_real
        - Src:             'option.c:4093,8'
          Dst:             dhcp_config_free
        - Src:             'option.c:4105,12'
          Dst:             strstr
        - Src:             'option.c:4105,42'
          Dst:             strstr
        - Src:             'option.c:4107,41'
          Dst:             opt_malloc_real
        - Src:             'option.c:4110,23'
          Dst:             dhcp_netid_create
        - Src:             'option.c:4112,12'
          Dst:             strstr
        - Src:             'option.c:4113,19'
          Dst:             dhcp_netid_create
        - Src:             'option.c:4116,33'
          Dst:             strlen
        - Src:             'option.c:4122,11'
          Dst:             strlen
        - Src:             'option.c:4124,14'
          Dst:             split_chr
        - Src:             'option.c:4126,12'
          Dst:             inet_pton
        - Src:             'option.c:4128,4'
          Dst:             dhcp_config_free
        - Src:             'option.c:4132,18'
          Dst:             opt_malloc_real
        - Src:             'option.c:4138,19'
          Dst:             addr6part
        - Src:             'option.c:4140,9'
          Dst:             atoi_check
        - Src:             'option.c:4144,8'
          Dst:             dhcp_config_free
        - Src:             'option.c:4145,8'
          Dst:             free_real
        - Src:             'option.c:4166,37'
          Dst:             opt_malloc_real
        - Src:             'option.c:4167,32'
          Dst:             parse_hex
        - Src:             'option.c:4170,4'
          Dst:             free_real
        - Src:             'option.c:4171,4'
          Dst:             dhcp_config_free
        - Src:             'option.c:4181,15'
          Dst:             strchr
        - Src:             'option.c:4181,36'
          Dst:             inet_pton
        - Src:             'option.c:4194,9'
          Dst:             inet_ntop
        - Src:             'option.c:4195,9'
          Dst:             sprintf
        - Src:             'option.c:4197,9'
          Dst:             dhcp_config_free
        - Src:             'option.c:4206,7'
          Dst:             strlen
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:4244,11'
          Dst:             strcmp
        - Src:             'option.c:4249,16'
          Dst:             strcmp
        - Src:             'option.c:4253,4'
          Dst:             dhcp_config_free
        - Src:             'option.c:4258,26'
          Dst:             canonicalise_opt
        - Src:             'option.c:4259,9'
          Dst:             legal_hostname
        - Src:             'option.c:4261,8'
          Dst:             dhcp_config_free
        - Src:             'option.c:4266,18'
          Dst:             strip_hostname
        - Src:             'option.c:4271,25'
          Dst:             atoi
        - Src:             'option.c:4289,23'
          Dst:             opt_malloc_real
        - Src:             'option.c:4309,14'
          Dst:             split
        - Src:             'option.c:4310,12'
          Dst:             strlen
        - Src:             'option.c:4319,31'
          Dst:             dhcp_netid_create
        - Src:             'option.c:4321,7'
          Dst:             strstr
        - Src:             'option.c:4323,41'
          Dst:             opt_malloc_real
        - Src:             'option.c:4328,12'
          Dst:             strstr
        - Src:             'option.c:4336,7'
          Dst:             dhcp_netid_free
        - Src:             'option.c:4346,6'
          Dst:             dhcp_netid_free
        - Src:             'option.c:4347,6'
          Dst:             dhcp_netid_list_free
        - Src:             'option.c:4348,6'
          Dst:             free_real
        - Src:             'option.c:4360,14'
          Dst:             parse_dhcp_opt
        - Src:             'option.c:4371,16'
          Dst:             split
        - Src:             'option.c:4371,38'
          Dst:             strlen
        - Src:             'option.c:4374,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:4376,15'
          Dst:             opt_malloc_real
        - Src:             'option.c:4377,37'
          Dst:             set_prefix
        - Src:             'option.c:4377,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:4384,14'
          Dst:             opt_string_alloc
        - Src:             'option.c:4372,4'
          Dst:             strcpy
        - Src:             'option.c:4394,26'
          Dst:             dhcp_tags
        - Src:             'option.c:4398,6'
          Dst:             strcpy
        - Src:             'option.c:4405,14'
          Dst:             split
        - Src:             'option.c:4406,18'
          Dst:             opt_string_alloc
        - Src:             'option.c:4411,11'
          Dst:             split
        - Src:             'option.c:4412,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:4415,7'
          Dst:             unhide_metas
        - Src:             'option.c:4416,13'
          Dst:             inet_pton
        - Src:             'option.c:4424,17'
          Dst:             opt_string_alloc
        - Src:             'option.c:4430,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:4445,26'
          Dst:             dhcp_tags
        - Src:             'option.c:4449,6'
          Dst:             strcpy
        - Src:             'option.c:4455,11'
          Dst:             atoi_check
        - Src:             'option.c:4456,15'
          Dst:             strcpy
        - Src:             'option.c:4458,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:4470,26'
          Dst:             opt_malloc_real
        - Src:             'option.c:4475,16'
          Dst:             dhcp_tags
        - Src:             'option.c:4479,7'
          Dst:             dhcp_opt_free
        - Src:             'option.c:4480,7'
          Dst:             strcpy
        - Src:             'option.c:4484,15'
          Dst:             split
        - Src:             'option.c:4485,7'
          Dst:             unhide_metas
        - Src:             'option.c:4486,18'
          Dst:             strlen
        - Src:             'option.c:4487,18'
          Dst:             opt_malloc_real
        - Src:             'option.c:4493,20'
          Dst:             atoi_check
        - Src:             'option.c:4508,29'
          Dst:             opt_malloc_real
        - Src:             'option.c:4517,16'
          Dst:             dhcp_tags
        - Src:             'option.c:4519,23'
          Dst:             split
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4522,13'
          Dst:             strcasecmp
        - Src:             'option.c:4525,21'
          Dst:             atoi_check
        - Src:             'option.c:4528,12'
          Dst:             split
        - Src:             'option.c:4531,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:4541,16'
          Dst:             split
        - Src:             'option.c:4542,12'
          Dst:             atoi_check
        - Src:             'option.c:4550,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:4555,10'
          Dst:             inet_pton
        - Src:             'option.c:4558,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:4581,3'
          Dst:             dhcp_netid_free
        - Src:             'option.c:4582,3'
          Dst:             free_real
        - Src:             'option.c:4583,3'
          Dst:             strcpy
        - Src:             'option.c:4588,16'
          Dst:             split
        - Src:             'option.c:4589,4'
          Dst:             strcpy
        - Src:             'option.c:4592,29'
          Dst:             opt_malloc_real
        - Src:             'option.c:4593,40'
          Dst:             set_prefix
        - Src:             'option.c:4593,23'
          Dst:             opt_string_alloc
        - Src:             'option.c:4594,6'
          Dst:             unhide_metas
        - Src:             'option.c:4595,24'
          Dst:             parse_hex
        - Src:             'option.c:4598,3'
          Dst:             free_real
        - Src:             'option.c:4599,3'
          Dst:             strcpy
        - Src:             'option.c:4599,3'
          Dst:             free_real
        - Src:             'option.c:4618,29'
          Dst:             opt_malloc_real
        - Src:             'option.c:4620,17'
          Dst:             split
        - Src:             'option.c:4621,5'
          Dst:             strcpy
        - Src:             'option.c:4621,5'
          Dst:             free_real
        - Src:             'option.c:4623,37'
          Dst:             set_prefix
        - Src:             'option.c:4623,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:4628,25'
          Dst:             strstr
        - Src:             'option.c:4630,15'
          Dst:             split
        - Src:             'option.c:4631,25'
          Dst:             atoi
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:4645,7'
          Dst:             unhide_metas
        - Src:             'option.c:4648,15'
          Dst:             strlen
        - Src:             'option.c:4649,16'
          Dst:             opt_malloc_real
        - Src:             'option.c:4654,54'
          Dst:             strlen
        - Src:             'option.c:4654,15'
          Dst:             parse_hex
        - Src:             'option.c:4655,16'
          Dst:             opt_malloc_real
        - Src:             'option.c:4661,7'
          Dst:             free_real
        - Src:             'option.c:4662,7'
          Dst:             strcpy
        - Src:             'option.c:4662,7'
          Dst:             free_real
        - Src:             'option.c:4697,12'
          Dst:             split
        - Src:             'option.c:4698,9'
          Dst:             atoi_check16
        - Src:             'option.c:4699,19'
          Dst:             atoi_check16
        - Src:             'option.c:4712,32'
          Dst:             opt_malloc_real
        - Src:             'option.c:4741,12'
          Dst:             split
        - Src:             'option.c:4742,29'
          Dst:             is_tag_prefix
        - Src:             'option.c:4742,11'
          Dst:             dhcp_netid_create
        - Src:             'option.c:4753,26'
          Dst:             opt_malloc_real
        - Src:             'option.c:4754,10'
          Dst:             split
        - Src:             'option.c:4755,8'
          Dst:             inet_pton
        - Src:             'option.c:4756,4'
          Dst:             free_real
        - Src:             'option.c:4766,34'
          Dst:             opt_malloc_real
        - Src:             'option.c:4767,12'
          Dst:             split
        - Src:             'option.c:4768,23'
          Dst:             opt_string_alloc
        - Src:             'option.c:4779,27'
          Dst:             opt_malloc_real
        - Src:             'option.c:4780,14'
          Dst:             split
        - Src:             'option.c:4781,16'
          Dst:             split
        - Src:             'option.c:4788,20'
          Dst:             strchr
        - Src:             'option.c:4796,10'
          Dst:             inet_pton
        - Src:             'option.c:4798,16'
          Dst:             split_chr
        - Src:             'option.c:4800,17'
          Dst:             atoi_check16
        - Src:             'option.c:4803,8'
          Dst:             inet_pton
        - Src:             'option.c:4809,20'
          Dst:             strchr
        - Src:             'option.c:4814,31'
          Dst:             inet_pton
        - Src:             'option.c:4822,15'
          Dst:             inet_pton
        - Src:             'option.c:4824,16'
          Dst:             split_chr
        - Src:             'option.c:4826,17'
          Dst:             atoi_check16
        - Src:             'option.c:4829,8'
          Dst:             inet_pton
        - Src:             'option.c:4831,7'
          Dst:             inet_pton
        - Src:             'option.c:4834,20'
          Dst:             strchr
        - Src:             'option.c:4846,23'
          Dst:             opt_string_alloc
        - Src:             'option.c:4846,23'
          Dst:             opt_string_alloc
        - Src:             'option.c:4851,6'
          Dst:             free_real
        - Src:             'option.c:4852,6'
          Dst:             free_real
        - Src:             'option.c:4862,20'
          Dst:             split
        - Src:             'option.c:4864,31'
          Dst:             opt_malloc_real
        - Src:             'option.c:4869,16'
          Dst:             opt_string_alloc
        - Src:             'option.c:4870,8'
          Dst:             strcasestr
        - Src:             'option.c:4873,22'
          Dst:             split
        - Src:             'option.c:4875,13'
          Dst:             strcasecmp
        - Src:             'option.c:4877,18'
          Dst:             atoi_check
        - Src:             'option.c:4878,26'
          Dst:             opt_string_alloc
        - Src:             'option.c:4882,8'
          Dst:             strcasestr
        - Src:             'option.c:4882,46'
          Dst:             strcasestr
        - Src:             'option.c:4888,16'
          Dst:             split
        - Src:             'option.c:4890,11'
          Dst:             split
        - Src:             'option.c:4891,10'
          Dst:             atoi_check
        - Src:             'option.c:4892,17'
          Dst:             atoi_check
        - Src:             'option.c:4895,9'
          Dst:             free_real
        - Src:             'option.c:4896,9'
          Dst:             free_real
        - Src:             'option.c:4905,21'
          Dst:             split
        - Src:             'option.c:4905,37'
          Dst:             atoi_check
        - Src:             'option.c:4909,70'
          Dst:             strlen
        - Src:             'option.c:4909,30'
          Dst:             parse_hex
        - Src:             'option.c:4910,26'
          Dst:             opt_malloc_real
        - Src:             'option.c:4920,23'
          Dst:             opt_malloc_real
        - Src:             'option.c:4929,21'
          Dst:             split
        - Src:             'option.c:4931,8'
          Dst:             unhide_metas
        - Src:             'option.c:4929,21'
          Dst:             split
        - Src:             'option.c:4931,8'
          Dst:             unhide_metas
        - Src:             'option.c:4934,9'
          Dst:             split_chr
        - Src:             'option.c:4937,9'
          Dst:             inet_pton
        - Src:             'option.c:4938,9'
          Dst:             inet_pton
        - Src:             'option.c:4939,18'
          Dst:             inet_pton
        - Src:             'option.c:4934,9'
          Dst:             split_chr
        - Src:             'option.c:4943,9'
          Dst:             inet_pton
        - Src:             'option.c:4944,8'
          Dst:             is_same_net
        - Src:             'option.c:4945,7'
          Dst:             __bswap_32
        - Src:             'option.c:4945,31'
          Dst:             __bswap_32
        - Src:             'option.c:4946,4'
          Dst:             free_real
        - Src:             'option.c:4957,8'
          Dst:             split
        - Src:             'option.c:4959,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:4968,18'
          Dst:             split
        - Src:             'option.c:4970,10'
          Dst:             inet_pton
        - Src:             'option.c:4972,15'
          Dst:             inet_pton
        - Src:             'option.c:4968,18'
          Dst:             split
        - Src:             'option.c:4980,15'
          Dst:             split_chr
        - Src:             'option.c:4982,10'
          Dst:             strcmp
        - Src:             'option.c:4984,15'
          Dst:             strcmp
        - Src:             'option.c:4987,8'
          Dst:             strcpy
        - Src:             'option.c:4987,8'
          Dst:             free_real
        - Src:             'option.c:4990,14'
          Dst:             opt_string_alloc
        - Src:             'option.c:5009,20'
          Dst:             canonicalise_opt
        - Src:             'option.c:5010,4'
          Dst:             strcpy
        - Src:             'option.c:5022,54'
          Dst:             split
        - Src:             'option.c:5031,20'
          Dst:             atoi_check
        - Src:             'option.c:5036,19'
          Dst:             strlen
        - Src:             'option.c:5037,14'
          Dst:             canonicalise_opt
        - Src:             'option.c:5040,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:5043,3'
          Dst:             free_real
        - Src:             'option.c:5044,3'
          Dst:             free_real
        - Src:             'option.c:5049,12'
          Dst:             hostname_isequal
        - Src:             'option.c:5051,5'
          Dst:             free_real
        - Src:             'option.c:5052,5'
          Dst:             free_real
        - Src:             'option.c:5055,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:5073,10'
          Dst:             split
        - Src:             'option.c:5075,14'
          Dst:             canonicalise_opt
        - Src:             'option.c:5076,27'
          Dst:             canonicalise_opt
        - Src:             'option.c:5084,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:5078,6'
          Dst:             free_real
        - Src:             'option.c:5079,6'
          Dst:             free_real
        - Src:             'option.c:5103,19'
          Dst:             split
        - Src:             'option.c:5103,19'
          Dst:             split
        - Src:             'option.c:5103,19'
          Dst:             split
        - Src:             'option.c:5103,19'
          Dst:             split
        - Src:             'option.c:5103,19'
          Dst:             split
        - Src:             'option.c:5103,19'
          Dst:             split
        - Src:             'option.c:5108,15'
          Dst:             canonicalise_opt
        - Src:             'option.c:5109,7'
          Dst:             atoi_check16
        - Src:             'option.c:5110,7'
          Dst:             atoi_check16
        - Src:             'option.c:5111,29'
          Dst:             canonicalise_opt
        - Src:             'option.c:5119,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:5123,19'
          Dst:             opt_string_alloc
        - Src:             'option.c:5124,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:5125,20'
          Dst:             opt_string_alloc
        - Src:             'option.c:5113,6'
          Dst:             free_real
        - Src:             'option.c:5114,6'
          Dst:             free_real
        - Src:             'option.c:5140,10'
          Dst:             split
        - Src:             'option.c:5141,9'
          Dst:             split
        - Src:             'option.c:5143,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:5146,7'
          Dst:             atoi_check
        - Src:             'option.c:5147,20'
          Dst:             canonicalise_opt
        - Src:             'option.c:5148,22'
          Dst:             parse_hex
        - Src:             'option.c:5161,17'
          Dst:             opt_malloc_real
        - Src:             'option.c:5150,13'
          Dst:             free_real
        - Src:             'option.c:5151,6'
          Dst:             free_real
        - Src:             'option.c:5175,10'
          Dst:             split
        - Src:             'option.c:5176,8'
          Dst:             split
        - Src:             'option.c:5177,10'
          Dst:             split
        - Src:             'option.c:5179,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:5183,7'
          Dst:             atoi_check
        - Src:             'option.c:5183,68'
          Dst:             canonicalise_opt
        - Src:             'option.c:5186,2'
          Dst:             unhide_metas
        - Src:             'option.c:5187,2'
          Dst:             unhide_metas
        - Src:             'option.c:5189,13'
          Dst:             strlen
        - Src:             'option.c:5189,27'
          Dst:             strlen
        - Src:             'option.c:5190,13'
          Dst:             opt_malloc_real
        - Src:             'option.c:5192,16'
          Dst:             strlen
        - Src:             'option.c:5193,28'
          Dst:             strlen
        - Src:             'option.c:5194,23'
          Dst:             strlen
        - Src:             'option.c:5194,44'
          Dst:             strlen
        - Src:             'option.c:5206,10'
          Dst:             split
        - Src:             'option.c:5208,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:5212,20'
          Dst:             canonicalise_opt
        - Src:             'option.c:5213,4'
          Dst:             free_real
        - Src:             'option.c:5217,16'
          Dst:             strlen
        - Src:             'option.c:5219,17'
          Dst:             opt_malloc_real
        - Src:             'option.c:5237,10'
          Dst:             unhide_meta
        - Src:             'option.c:5253,10'
          Dst:             split
        - Src:             'option.c:5255,15'
          Dst:             canonicalise_opt
        - Src:             'option.c:5261,14'
          Dst:             split
        - Src:             'option.c:5262,21'
          Dst:             canonicalise_opt
        - Src:             'option.c:5263,8'
          Dst:             free_real
        - Src:             'option.c:5268,11'
          Dst:             split
        - Src:             'option.c:5269,8'
          Dst:             atoi_check16
        - Src:             'option.c:5271,21'
          Dst:             free_real
        - Src:             'option.c:5272,7'
          Dst:             free_real
        - Src:             'option.c:5278,15'
          Dst:             split
        - Src:             'option.c:5279,12'
          Dst:             atoi_check16
        - Src:             'option.c:5281,25'
          Dst:             free_real
        - Src:             'option.c:5282,11'
          Dst:             free_real
        - Src:             'option.c:5284,21'
          Dst:             atoi_check16
        - Src:             'option.c:5286,25'
          Dst:             free_real
        - Src:             'option.c:5287,11'
          Dst:             free_real
        - Src:             'option.c:5293,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:5309,24'
          Dst:             split
        - Src:             'option.c:5312,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:5326,19'
          Dst:             atoi
        - Src:             'option.c:5327,15'
          Dst:             inet_pton
        - Src:             'option.c:5332,15'
          Dst:             inet_pton
        - Src:             'option.c:5339,17'
          Dst:             canonicalise_opt
        - Src:             'option.c:5347,4'
          Dst:             free_real
        - Src:             'option.c:5352,8'
          Dst:             opt_malloc_real
        - Src:             'option.c:5349,7'
          Dst:             free_real
        - Src:             'option.c:5367,14'
          Dst:             split
        - Src:             'option.c:5387,11'
          Dst:             atoi_check
        - Src:             'option.c:5388,8'
          Dst:             strcpy
        - Src:             'option.c:5502,7'
          Dst:             atoi_check
        - Src:             'option.c:5503,4'
          Dst:             strcpy
    - functionName:    set_option_bool
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2052
      functionLinenumberEnd: 2054
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    23
      BranchProfiles:  []
      Callsites:       []
    - functionName:    one_file
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5676
      functionLinenumberEnd: 5766
      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:5699,38'
          Dst:             strcmp
        - Src:             'option.c:5750,4'
          Dst:             read_file
        - Src:             'option.c:5712,28'
          Dst:             stat64
        - Src:             'option.c:5712,28'
          Dst:             stat64
        - Src:             'option.c:5720,8'
          Dst:             safe_malloc
        - Src:             'option.c:5729,14'
          Dst:             popen
        - Src:             'option.c:5730,6'
          Dst:             die
        - Src:             'option.c:5732,22'
          Dst:             fopen64
        - Src:             'option.c:5734,8'
          Dst:             __errno_location
        - Src:             'option.c:5741,35'
          Dst:             strerror
        - Src:             'option.c:5741,5'
          Dst:             my_syslog
        - Src:             'option.c:5745,3'
          Dst:             die
        - Src:             'option.c:5750,4'
          Dst:             read_file
        - Src:             'option.c:5750,4'
          Dst:             read_file
        - Src:             'option.c:5756,17'
          Dst:             pclose
        - Src:             'option.c:5757,2'
          Dst:             die
        - Src:             'option.c:5760,2'
          Dst:             die
        - Src:             'option.c:5763,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: 5517
      functionLinenumberEnd: 5659
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         113
      ICount:          502
      EdgeCount:       155
      CyclomaticComplexity: 44
      functionsReached:
        - __ctype_b_loc
        - _setjmp
        - die
        - get_line_alloc
        - hide_meta
        - memchr
        - my_syslog
        - one_opt
        - sprintf
        - strchr
        - strcmp
        - strcpy
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5525,7'
          Dst:             _setjmp
        - Src:             'option.c:5532,10'
          Dst:             get_line_alloc
        - Src:             'option.c:5551,24'
          Dst:             strlen
        - Src:             'option.c:5555,23'
          Dst:             memchr
        - Src:             'option.c:5567,25'
          Dst:             strlen
        - Src:             'option.c:5569,10'
          Dst:             hide_meta
        - Src:             'option.c:5578,24'
          Dst:             strlen
        - Src:             'option.c:5581,8'
          Dst:             __ctype_b_loc
        - Src:             'option.c:5602,18'
          Dst:             strlen
        - Src:             'option.c:5611,19'
          Dst:             strchr
        - Src:             'option.c:5624,10'
          Dst:             strcmp
        - Src:             'option.c:5642,2'
          Dst:             strcpy
        - Src:             'option.c:5644,23'
          Dst:             one_opt
        - Src:             'option.c:5647,33'
          Dst:             strlen
        - Src:             'option.c:5647,6'
          Dst:             sprintf
        - Src:             'option.c:5649,33'
          Dst:             strlen
        - Src:             'option.c:5649,6'
          Dst:             sprintf
        - Src:             'option.c:5652,6'
          Dst:             my_syslog
        - Src:             'option.c:5654,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: 828
      functionLinenumberEnd: 882
      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:844,3'
          Dst:             puts
        - Src:             'option.c:848,3'
          Dst:             puts
        - Src:             'option.c:865,2'
          Dst:             sprintf
        - Src:             'option.c:869,7'
          Dst:             sprintf
        - Src:             'option.c:870,7'
          Dst:             printf
        - Src:             'option.c:874,4'
          Dst:             safe_strncpy
        - Src:             'option.c:877,8'
          Dst:             sprintf
        - Src:             'option.c:877,8'
          Dst:             sprintf
        - Src:             'option.c:877,8'
          Dst:             sprintf
        - Src:             'option.c:877,8'
          Dst:             sprintf
        - Src:             'option.c:877,8'
          Dst:             sprintf
        - Src:             'option.c:879,7'
          Dst:             printf
        - Src:             'option.c:880,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: 5998
      functionLinenumberEnd: 6373
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         254
      ICount:          1248
      EdgeCount:       335
      CyclomaticComplexity: 83
      functionsReached:
        - __bswap_16
        - __ctype_b_loc
        - add_txt
        - canonicalise_opt
        - die
        - display_opts
        - display_opts6
        - do_usage
        - exit
        - fclose
        - fopen64
        - fprintf
        - free_real
        - get_line_alloc
        - gethostname
        - getopt_long
        - hostname_isequal
        - if_names_add
        - mark_servers
        - one_file
        - one_opt
        - opt_malloc_real
        - opt_string_alloc
        - printf
        - puts
        - reset_option_bool
        - safe_malloc
        - safe_strncpy
        - set_option_bool
        - strcat
        - strchr
        - strcmp
        - strcpy
        - strlen
        - strncat
        - strrchr
        - strtok
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:6000,18'
          Dst:             safe_malloc
        - Src:             'option.c:6006,12'
          Dst:             opt_malloc_real
        - Src:             'option.c:6008,22'
          Dst:             safe_malloc
        - Src:             'option.c:6009,27'
          Dst:             safe_malloc
        - Src:             'option.c:6010,22'
          Dst:             safe_malloc
        - Src:             'option.c:6045,3'
          Dst:             mark_servers
        - Src:             'option.c:6050,16'
          Dst:             getopt_long
        - Src:             'option.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'option.c:6062,5'
          Dst:             die
        - Src:             'option.c:6070,8'
          Dst:             strlen
        - Src:             'option.c:6072,8'
          Dst:             free_real
        - Src:             'option.c:6073,22'
          Dst:             strlen
        - Src:             'option.c:6074,17'
          Dst:             opt_malloc_real
        - Src:             'option.c:6076,4'
          Dst:             safe_strncpy
        - Src:             'option.c:6088,21'
          Dst:             strcmp
        - Src:             'option.c:6089,6'
          Dst:             display_opts
        - Src:             'option.c:6091,26'
          Dst:             strcmp
        - Src:             'option.c:6092,6'
          Dst:             display_opts6
        - Src:             'option.c:6096,6'
          Dst:             do_usage
        - Src:             'option.c:6098,4'
          Dst:             exit
        - Src:             'option.c:6102,4'
          Dst:             printf
        - Src:             'option.c:6103,4'
          Dst:             printf
        - Src:             'option.c:6104,4'
          Dst:             puts
        - Src:             'option.c:6105,4'
          Dst:             puts
        - Src:             'option.c:6106,4'
          Dst:             puts
        - Src:             'option.c:6107,11'
          Dst:             exit
        - Src:             'option.c:6112,17'
          Dst:             opt_string_alloc
        - Src:             'option.c:6115,22'
          Dst:             opt_string_alloc
        - Src:             'option.c:6116,8'
          Dst:             one_file
        - Src:             'option.c:6117,8'
          Dst:             free_real
        - Src:             'option.c:6123,9'
          Dst:             one_opt
        - Src:             'option.c:6127,6'
          Dst:             die
        - Src:             'option.c:6131,3'
          Dst:             free_real
        - Src:             'option.c:6135,7'
          Dst:             one_file
        - Src:             'option.c:6136,7'
          Dst:             free_real
        - Src:             'option.c:6139,5'
          Dst:             one_file
        - Src:             'option.c:6145,7'
          Dst:             add_txt
        - Src:             'option.c:6146,7'
          Dst:             add_txt
        - Src:             'option.c:6147,7'
          Dst:             add_txt
        - Src:             'option.c:6148,7'
          Dst:             add_txt
        - Src:             'option.c:6149,7'
          Dst:             add_txt
        - Src:             'option.c:6150,7'
          Dst:             add_txt
        - Src:             'option.c:6151,7'
          Dst:             add_txt
        - Src:             'option.c:6152,7'
          Dst:             add_txt
        - Src:             'option.c:6154,7'
          Dst:             add_txt
        - Src:             'option.c:6156,7'
          Dst:             add_txt
        - Src:             'option.c:0,0'
          Dst:             __bswap_16
        - Src:             'option.c:6208,10'
          Dst:             hostname_isequal
        - Src:             'option.c:6224,3'
          Dst:             die
        - Src:             'option.c:0,0'
          Dst:             __bswap_16
        - Src:             'option.c:6248,67'
          Dst:             strlen
        - Src:             'option.c:6248,7'
          Dst:             strncat
        - Src:             'option.c:6249,28'
          Dst:             opt_string_alloc
        - Src:             'option.c:6254,34'
          Dst:             opt_malloc_real
        - Src:             'option.c:6255,40'
          Dst:             opt_string_alloc
        - Src:             'option.c:6264,11'
          Dst:             gethostname
        - Src:             'option.c:6265,2'
          Dst:             die
        - Src:             'option.c:6268,20'
          Dst:             hostname_isequal
        - Src:             'option.c:6273,9'
          Dst:             opt_malloc_real
        - Src:             'option.c:6277,15'
          Dst:             opt_string_alloc
        - Src:             'option.c:6282,21'
          Dst:             opt_string_alloc
        - Src:             'option.c:6293,5'
          Dst:             die
        - Src:             'option.c:6304,2'
          Dst:             die
        - Src:             'option.c:6306,17'
          Dst:             fopen64
        - Src:             'option.c:6307,2'
          Dst:             die
        - Src:             'option.c:6309,14'
          Dst:             get_line_alloc
        - Src:             'option.c:6311,18'
          Dst:             strtok
        - Src:             'option.c:6313,18'
          Dst:             strcmp
        - Src:             'option.c:6316,17'
          Dst:             strtok
        - Src:             'option.c:6317,33'
          Dst:             canonicalise_opt
        - Src:             'option.c:6320,8'
          Dst:             get_line_alloc
        - Src:             'option.c:6325,7'
          Dst:             fclose
        - Src:             'option.c:6328,2'
          Dst:             die
        - Src:             'option.c:6338,6'
          Dst:             strchr
        - Src:             'option.c:6339,32'
          Dst:             strrchr
        - Src:             'option.c:6341,10'
          Dst:             strlen
        - Src:             'option.c:6341,34'
          Dst:             strlen
        - Src:             'option.c:6342,8'
          Dst:             die
        - Src:             'option.c:6343,6'
          Dst:             strcpy
        - Src:             'option.c:6344,6'
          Dst:             strlen
        - Src:             'option.c:6345,6'
          Dst:             strcat
        - Src:             'option.c:6346,6'
          Dst:             free_real
        - Src:             'option.c:6347,24'
          Dst:             canonicalise_opt
        - Src:             'option.c:6348,8'
          Dst:             die
        - Src:             'option.c:6352,5'
          Dst:             die
        - Src:             'option.c:6358,7'
          Dst:             reset_option_bool
        - Src:             'option.c:6359,7'
          Dst:             reset_option_bool
        - Src:             'option.c:6364,7'
          Dst:             if_names_add
        - Src:             'option.c:6365,7'
          Dst:             set_option_bool
        - Src:             'option.c:6370,7'
          Dst:             fprintf
        - Src:             'option.c:6371,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: 2057
      functionLinenumberEnd: 2059
      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: 5950
      functionLinenumberEnd: 5955
      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:5951,3'
          Dst:             clear_dhcp_opt
        - Src:             'option.c:5953,3'
          Dst:             clear_dhcp_opt
    - functionName:    clear_dynamic_conf
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5913
      functionLinenumberEnd: 5929
      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:5924,4'
          Dst:             dhcp_config_free
    - functionName:    reread_dhcp
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5958
      functionLinenumberEnd: 5994
      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:5965,4'
          Dst:             clear_dynamic_conf
        - Src:             'option.c:5966,4'
          Dst:             clear_dynamic_opt
        - Src:             'option.c:5970,33'
          Dst:             expand_filelist
        - Src:             'option.c:5974,10'
          Dst:             one_file
        - Src:             'option.c:5975,8'
          Dst:             my_syslog
        - Src:             'option.c:5981,32'
          Dst:             expand_filelist
        - Src:             'option.c:5985,10'
          Dst:             one_file
        - Src:             'option.c:5986,8'
          Dst:             my_syslog
        - Src:             'option.c:5992,3'
          Dst:             set_dynamic_inotify
    - functionName:    expand_filelist
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5784
      functionLinenumberEnd: 5891
      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
        - free_real
        - my_syslog
        - scandir64
        - stat64
        - strcat
        - strcmp
        - strcpy
        - strerror
        - strlen
        - strstr
        - whine_malloc_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'option.c:5808,6'
          Dst:             stat64
        - Src:             'option.c:5815,15'
          Dst:             scandir64
        - Src:             'option.c:5815,15'
          Dst:             file_filter
        - Src:             'option.c:5815,15'
          Dst:             alphasort64
        - Src:             'option.c:5818,24'
          Dst:             __errno_location
        - Src:             'option.c:5818,15'
          Dst:             strerror
        - Src:             'option.c:5817,8'
          Dst:             my_syslog
        - Src:             'option.c:5824,23'
          Dst:             strlen
        - Src:             'option.c:5825,24'
          Dst:             strlen
        - Src:             'option.c:5838,17'
          Dst:             strlen
        - Src:             'option.c:5839,8'
          Dst:             strstr
        - Src:             'option.c:5841,8'
          Dst:             strcmp
        - Src:             'option.c:5857,16'
          Dst:             whine_malloc_real
        - Src:             'option.c:5860,17'
          Dst:             whine_malloc_real
        - Src:             'option.c:5862,8'
          Dst:             free_real
        - Src:             'option.c:5866,4'
          Dst:             strcpy
        - Src:             'option.c:5867,4'
          Dst:             strlen
        - Src:             'option.c:5868,4'
          Dst:             strcat
        - Src:             'option.c:5881,36'
          Dst:             stat64
        - Src:             'option.c:5886,6'
          Dst:             free_real
    - functionName:    file_filter
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5769
      functionLinenumberEnd: 5781
      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:5770,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: 5894
      functionLinenumberEnd: 5908
      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:5897,13'
          Dst:             fopen64
        - Src:             'option.c:5899,83'
          Dst:             __errno_location
        - Src:             'option.c:5899,74'
          Dst:             strerror
        - Src:             'option.c:5899,8'
          Dst:             my_syslog
        - Src:             'option.c:5903,3'
          Dst:             mark_servers
        - Src:             'option.c:5904,3'
          Dst:             read_file
        - Src:             'option.c:5905,3'
          Dst:             fclose
        - Src:             'option.c:5906,3'
          Dst:             cleanup_servers
        - Src:             'option.c:5907,3'
          Dst:             check_servers
    - functionName:    option_read_dynfile
      functionSourceFile: '/src/dnsmasq/src/option.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5663
      functionLinenumberEnd: 5672
      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:5664,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_real
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'poll.c:93,15'
          Dst:             fd_search
        - Src:             'poll.c:106,17'
          Dst:             whine_realloc_real
    - 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: 764
      functionLinenumberEnd: 784
      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:772,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: 586
      functionLinenumberEnd: 760
      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:593,11'
          Dst:             __bswap_32
        - Src:             'radv.c:593,11'
          Dst:             __bswap_32
        - Src:             'radv.c:604,17'
          Dst:             __bswap_32
        - Src:             'radv.c:619,3'
          Dst:             is_same_net6
        - Src:             'radv.c:620,3'
          Dst:             is_same_net6
        - Src:             'radv.c:711,8'
          Dst:             __bswap_32
        - Src:             'radv.c:711,8'
          Dst:             __bswap_32
        - Src:             'radv.c:732,19'
          Dst:             expand
        - Src:             'radv.c:736,27'
          Dst:             addr6part
        - Src:             'radv.c:736,7'
          Dst:             setaddr6part
        - Src:             'radv.c:748,27'
          Dst:             __bswap_32
        - Src:             'radv.c:749,31'
          Dst:             __bswap_32
        - Src:             'radv.c:753,5'
          Dst:             inet_ntop
        - Src:             'radv.c:755,7'
          Dst:             my_syslog
    - functionName:    calc_lifetime
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1011
      functionLinenumberEnd: 1025
      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:1012,33'
          Dst:             calc_interval
    - functionName:    calc_interval
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 995
      functionLinenumberEnd: 1007
      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: 1029
      functionLinenumberEnd: 1034
      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: 984
      functionLinenumberEnd: 992
      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:988,9'
          Dst:             wildcard_match
    - functionName:    send_ra_to_aliases
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 897
      functionLinenumberEnd: 916
      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:906,7'
          Dst:             if_indextoname
        - Src:             'radv.c:908,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: 921
      functionLinenumberEnd: 968
      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:931,8'
          Dst:             indextoname
        - Src:             'radv.c:932,8'
          Dst:             iface_check
        - Src:             'radv.c:937,2'
          Dst:             wildcard_match
        - Src:             'radv.c:943,2'
          Dst:             is_same_net6
        - Src:             'radv.c:944,2'
          Dst:             is_same_net6
        - Src:             'radv.c:946,2'
          Dst:             difftime
        - Src:             'radv.c:954,2'
          Dst:             new_timeout
        - Src:             'radv.c:960,8'
          Dst:             is_same_net6
        - Src:             'radv.c:961,8'
          Dst:             is_same_net6
    - functionName:    new_timeout
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 971
      functionLinenumberEnd: 981
      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:972,7'
          Dst:             difftime
        - Src:             'radv.c:974,35'
          Dst:             rand16
        - Src:             'radv.c:978,49'
          Dst:             find_iface_param
        - Src:             'radv.c:978,35'
          Dst:             calc_interval
        - Src:             'radv.c:979,86'
          Dst:             rand16
    - functionName:    periodic_ra
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 787
      functionLinenumberEnd: 894
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         65
      ICount:          316
      EdgeCount:       89
      CyclomaticComplexity: 26
      functionsReached:
        - difftime
        - free_real
        - if_nametoindex
        - iface_check
        - iface_enumerate
        - iface_search
        - indextoname
        - my_syslog
        - new_timeout
        - send_ra
        - send_ra_alias
        - send_ra_to_aliases
        - whine_malloc_real
        - wildcard_match
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:802,10'
          Dst:             difftime
        - Src:             'radv.c:805,29'
          Dst:             difftime
        - Src:             'radv.c:815,4'
          Dst:             indextoname
        - Src:             'radv.c:821,4'
          Dst:             new_timeout
        - Src:             'radv.c:823,16'
          Dst:             iface_enumerate
        - Src:             'radv.c:823,16'
          Dst:             iface_search
        - Src:             'radv.c:832,4'
          Dst:             iface_check
        - Src:             'radv.c:837,3'
          Dst:             wildcard_match
        - Src:             'radv.c:841,15'
          Dst:             send_ra
        - Src:             'radv.c:848,26'
          Dst:             if_nametoindex
        - Src:             'radv.c:856,21'
          Dst:             iface_enumerate
        - Src:             'radv.c:856,21'
          Dst:             send_ra_to_aliases
        - Src:             'radv.c:857,21'
          Dst:             my_syslog
        - Src:             'radv.c:862,47'
          Dst:             whine_malloc_real
        - Src:             'radv.c:871,25'
          Dst:             iface_enumerate
        - Src:             'radv.c:871,25'
          Dst:             send_ra_to_aliases
        - Src:             'radv.c:874,29'
          Dst:             my_syslog
        - Src:             'radv.c:877,29'
          Dst:             send_ra_alias
        - Src:             'radv.c:883,25'
          Dst:             free_real
    - functionName:    send_ra
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 581
      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:580,3'
          Dst:             send_ra_alias
    - functionName:    send_ra_alias
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 574
      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
        - free_real
        - 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:262,35'
          Dst:             find_iface_param
        - Src:             'radv.c:278,23'
          Dst:             calc_interval
        - Src:             'radv.c:279,15'
          Dst:             calc_prio
        - Src:             'radv.c:281,3'
          Dst:             reset_counter
        - Src:             'radv.c:283,14'
          Dst:             expand
        - Src:             'radv.c:290,18'
          Dst:             calc_lifetime
        - Src:             'radv.c:290,18'
          Dst:             __bswap_16
        - Src:             'radv.c:307,8'
          Dst:             iface_enumerate
        - Src:             'radv.c:307,8'
          Dst:             add_prefixes
        - Src:             'radv.c:331,23'
          Dst:             difftime
        - Src:             'radv.c:340,3'
          Dst:             new_timeout
        - Src:             'radv.c:343,8'
          Dst:             free_real
        - Src:             'radv.c:354,29'
          Dst:             addr6part
        - Src:             'radv.c:354,8'
          Dst:             setaddr6part
        - Src:             'radv.c:377,19'
          Dst:             expand
        - Src:             'radv.c:386,27'
          Dst:             __bswap_32
        - Src:             'radv.c:387,31'
          Dst:             __bswap_32
        - Src:             'radv.c:391,5'
          Dst:             inet_ntop
        - Src:             'radv.c:393,7'
          Dst:             my_syslog
        - Src:             'radv.c:405,20'
          Dst:             __bswap_16
        - Src:             'radv.c:415,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:416,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:417,7'
          Dst:             put_opt6_short
        - Src:             'radv.c:419,42'
          Dst:             find_iface_param
        - Src:             'radv.c:419,28'
          Dst:             calc_interval
        - Src:             'radv.c:419,7'
          Dst:             put_opt6_long
        - Src:             'radv.c:432,7'
          Dst:             sprintf
        - Src:             'radv.c:433,16'
          Dst:             fopen64
        - Src:             'radv.c:435,15'
          Dst:             fgets
        - Src:             'radv.c:436,19'
          Dst:             atoi
        - Src:             'radv.c:437,11'
          Dst:             fclose
        - Src:             'radv.c:443,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:444,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:445,7'
          Dst:             put_opt6_short
        - Src:             'radv.c:446,7'
          Dst:             put_opt6_long
        - Src:             'radv.c:449,3'
          Dst:             iface_enumerate
        - Src:             'radv.c:449,3'
          Dst:             add_lla
        - Src:             'radv.c:452,9'
          Dst:             option_filter
        - Src:             'radv.c:476,4'
          Dst:             __bswap_32
        - Src:             'radv.c:477,4'
          Dst:             __bswap_32
        - Src:             'radv.c:482,8'
          Dst:             put_opt6_char
        - Src:             'radv.c:483,8'
          Dst:             put_opt6_char
        - Src:             'radv.c:484,8'
          Dst:             put_opt6_short
        - Src:             'radv.c:485,8'
          Dst:             put_opt6_long
        - Src:             'radv.c:493,12'
          Dst:             __bswap_32
        - Src:             'radv.c:498,12'
          Dst:             __bswap_32
        - Src:             'radv.c:0,0'
          Dst:             put_opt6
        - Src:             'radv.c:512,4'
          Dst:             put_opt6_char
        - Src:             'radv.c:513,4'
          Dst:             put_opt6_char
        - Src:             'radv.c:514,4'
          Dst:             put_opt6_short
        - Src:             'radv.c:515,4'
          Dst:             put_opt6_long
        - Src:             'radv.c:516,4'
          Dst:             put_opt6
        - Src:             'radv.c:520,6'
          Dst:             put_opt6_char
        - Src:             'radv.c:527,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:528,7'
          Dst:             put_opt6_char
        - Src:             'radv.c:529,7'
          Dst:             put_opt6_short
        - Src:             'radv.c:530,7'
          Dst:             put_opt6_long
        - Src:             'radv.c:531,7'
          Dst:             put_opt6
        - Src:             'radv.c:546,20'
          Dst:             __bswap_16
        - Src:             'radv.c:550,11'
          Dst:             __bswap_32
        - Src:             'radv.c:550,11'
          Dst:             __bswap_32
        - Src:             'radv.c:556,7'
          Dst:             inet_pton
        - Src:             'radv.c:557,7'
          Dst:             setsockopt
        - Src:             'radv.c:566,67'
          Dst:             save_counter
        - Src:             'radv.c:566,5'
          Dst:             dump_packet_icmp
        - Src:             'radv.c:571,7'
          Dst:             save_counter
        - Src:             'radv.c:570,21'
          Dst:             sendto
        - Src:             'radv.c:570,10'
          Dst:             retry_send
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    icmp6_packet
      functionSourceFile: '/src/dnsmasq/src/radv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         86
      ICount:          399
      EdgeCount:       119
      CyclomaticComplexity: 35
      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:219,12'
          Dst:             print_mac
        - Src:             'radv.c:223,2'
          Dst:             my_syslog
        - Src:             'radv.c:230,30'
          Dst:             if_nametoindex
        - Src:             'radv.c:234,7'
          Dst:             wildcard_matchn
        - Src:             'radv.c:238,7'
          Dst:             send_ra_alias
        - Src:             'radv.c:250,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_real
        - fix_fd
        - getsockopt
        - ra_start_unsolicited
        - set_ipv6pktinfo
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'radv.c:83,3'
          Dst:             expand_buf_real
        - 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: 1573
      functionLinenumberEnd: 1603
      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:1574,21'
          Dst:             difftime
    - functionName:    cache_not_validated
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1606
      functionLinenumberEnd: 1607
      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: 1568
      functionLinenumberEnd: 1569
      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:1569,44'
          Dst:             difftime
    - functionName:    answer_request
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1614
      functionLinenumberEnd: 2402
      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:1639,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1640,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1641,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1653,16'
          Dst:             skip_questions
        - Src:             'rfc1035.c:1663,8'
          Dst:             extract_name
        - Src:             'rfc1035.c:1672,37'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:1677,6'
          Dst:             crec_isstale
        - Src:             'rfc1035.c:1692,52'
          Dst:             record_source
        - Src:             'rfc1035.c:1692,3'
          Dst:             log_query
        - Src:             'rfc1035.c:1700,17'
          Dst:             cache_get_cname_target
        - Src:             'rfc1035.c:1704,29'
          Dst:             cache_not_validated
        - Src:             'rfc1035.c:1712,55'
          Dst:             record_source
        - Src:             'rfc1035.c:1712,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1714,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:1713,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1724,2'
          Dst:             strcpy
        - Src:             'rfc1035.c:1732,30'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1743,10'
          Dst:             cache_make_stat
        - Src:             'rfc1035.c:1749,5'
          Dst:             log_query
        - Src:             'rfc1035.c:1750,9'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1762,11'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1762,49'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1769,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1781,47'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1785,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1786,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1795,18'
          Dst:             in_arpa_name_2_addr
        - Src:             'rfc1035.c:1800,10'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1815,26'
          Dst:             strcmp
        - Src:             'rfc1035.c:1830,26'
          Dst:             strcmp
        - Src:             'rfc1035.c:1838,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1839,12'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1848,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1850,7'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1851,7'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1857,33'
          Dst:             cache_find_by_addr
        - Src:             'rfc1035.c:1863,28'
          Dst:             cache_not_validated
        - Src:             'rfc1035.c:1869,13'
          Dst:             crec_isstale
        - Src:             'rfc1035.c:1891,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1899,58'
          Dst:             cache_get_name
        - Src:             'rfc1035.c:1900,9'
          Dst:             record_source
        - Src:             'rfc1035.c:1899,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1903,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:1904,27'
          Dst:             cache_get_name
        - Src:             'rfc1035.c:1902,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1907,25'
          Dst:             cache_find_by_addr
        - Src:             'rfc1035.c:1910,13'
          Dst:             is_rev_synth
        - Src:             'rfc1035.c:1914,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1916,12'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1922,29'
          Dst:             private_net6
        - Src:             'rfc1035.c:1922,84'
          Dst:             private_net
        - Src:             'rfc1035.c:1923,7'
          Dst:             lookup_domain
        - Src:             'rfc1035.c:1929,8'
          Dst:             log_query
        - Src:             'rfc1035.c:1944,10'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1952,8'
          Dst:             enumerate_interfaces
        - Src:             'rfc1035.c:1958,9'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1961,6'
          Dst:             is_same_net
        - Src:             'rfc1035.c:1968,7'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:1974,11'
          Dst:             is_same_net
        - Src:             'rfc1035.c:1983,6'
          Dst:             log_query
        - Src:             'rfc1035.c:1984,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:1992,3'
          Dst:             log_query
        - Src:             'rfc1035.c:1997,17'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2008,4'
          Dst:             is_same_net
        - Src:             'rfc1035.c:2013,23'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2019,28'
          Dst:             cache_not_validated
        - Src:             'rfc1035.c:2024,11'
          Dst:             crec_isstale
        - Src:             'rfc1035.c:2043,29'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:2050,4'
          Dst:             log_query
        - Src:             'rfc1035.c:2065,8'
          Dst:             log_query
        - Src:             'rfc1035.c:2074,9'
          Dst:             is_same_net
        - Src:             'rfc1035.c:2079,7'
          Dst:             record_source
        - Src:             'rfc1035.c:2078,4'
          Dst:             log_query
        - Src:             'rfc1035.c:2082,7'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:2081,8'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2086,23'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2088,13'
          Dst:             is_name_synthetic
        - Src:             'rfc1035.c:2091,8'
          Dst:             log_query
        - Src:             'rfc1035.c:2092,12'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2102,25'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:2109,3'
          Dst:             log_query
        - Src:             'rfc1035.c:2110,7'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2120,8'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2124,8'
          Dst:             log_query
        - Src:             'rfc1035.c:2125,12'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2137,24'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:2143,3'
          Dst:             log_query
        - Src:             'rfc1035.c:2144,7'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2177,10'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:2181,3'
          Dst:             log_query
        - Src:             'rfc1035.c:2182,7'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2196,4'
          Dst:             log_query
        - Src:             'rfc1035.c:2201,17'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2213,19'
          Dst:             cache_not_validated
        - Src:             'rfc1035.c:2218,11'
          Dst:             crec_isstale
        - Src:             'rfc1035.c:2231,34'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:2245,17'
          Dst:             blockdata_retrieve
        - Src:             'rfc1035.c:2255,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:2254,31'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2261,9'
          Dst:             log_txt
        - Src:             'rfc1035.c:2263,9'
          Dst:             log_query
        - Src:             'rfc1035.c:2265,26'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2268,84'
          Dst:             strchr
        - Src:             'rfc1035.c:2272,4'
          Dst:             log_query
        - Src:             'rfc1035.c:2276,37'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:2286,8'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2291,8'
          Dst:             log_query
        - Src:             'rfc1035.c:2314,23'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2320,13'
          Dst:             blockdata_retrieve
        - Src:             'rfc1035.c:2322,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:2321,3'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2341,28'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:2345,18'
          Dst:             cache_find_by_name
        - Src:             'rfc1035.c:2353,9'
          Dst:             crec_ttl
        - Src:             'rfc1035.c:2352,10'
          Dst:             add_resource_record
        - Src:             'rfc1035.c:2377,20'
          Dst:             skip_questions
        - Src:             'rfc1035.c:2380,7'
          Dst:             log_query
        - Src:             'rfc1035.c:2390,21'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:2391,21'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:2392,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: 362
      functionLinenumberEnd: 374
      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:366,12'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:368,20'
          Dst:             skip_name
    - functionName:    extract_name
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 196
      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:    29
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_resource_record
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1434
      functionLinenumberEnd: 1565
      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:    49
      BranchProfiles:
        - Branch String:   'rfc1035.c:1483,3'
          Branch Sides:    []
      Callsites:
        - Src:             'rfc1035.c:1458,25'
          Dst:             do_rfc1035_name
        - Src:             'rfc1035.c:1522,19'
          Dst:             do_rfc1035_name
        - Src:             'rfc1035.c:1539,17'
          Dst:             strlen
    - functionName:    in_arpa_name_2_addr
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 301
      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:207,7'
          Dst:             strlen
        - Src:             'rfc1035.c:230,7'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:230,46'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'rfc1035.c:250,14'
          Dst:             atoi
        - Src:             'rfc1035.c:237,48'
          Dst:             strlen
        - Src:             'rfc1035.c:255,12'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:256,6'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:256,44'
          Dst:             hostname_isequal
        - Src:             'rfc1035.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'rfc1035.c:276,16'
          Dst:             strtol
        - Src:             'rfc1035.c:278,15'
          Dst:             strtol
        - Src:             'rfc1035.c:288,25'
          Dst:             __ctype_b_loc
        - Src:             'rfc1035.c:293,36'
          Dst:             strtol
        - Src:             'rfc1035.c:286,45'
          Dst:             strlen
    - functionName:    private_net6
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 453
      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:439,7'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:443,14'
          Dst:             private_net
        - Src:             'rfc1035.c:448,6'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:449,5'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:449,5'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:450,5'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:452,22'
          Dst:             __bswap_32
    - functionName:    private_net
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 419
      functionLinenumberEnd: 433
      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:420,23'
          Dst:             __bswap_32
    - functionName:    log_txt
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 686
      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:679,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: 304
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          145
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_for_ignored_address
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1423
      functionLinenumberEnd: 1424
      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:1424,10'
          Dst:             check_bad_address
    - functionName:    check_bad_address
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1338
      functionLinenumberEnd: 1398
      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:1345,13'
          Dst:             skip_questions
        - Src:             'rfc1035.c:1348,12'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1350,20'
          Dst:             extract_name
        - Src:             'rfc1035.c:1353,26'
          Dst:             skip_name
        - Src:             'rfc1035.c:1375,23'
          Dst:             is_same_net_prefix
        - Src:             'rfc1035.c:1388,22'
          Dst:             is_same_net6
    - functionName:    check_for_bogus_wildcard
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1404
      functionLinenumberEnd: 1420
      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:1407,7'
          Dst:             check_bad_address
        - Src:             'rfc1035.c:1411,7'
          Dst:             cache_start_insert
        - Src:             'rfc1035.c:1412,7'
          Dst:             cache_insert
        - Src:             'rfc1035.c:1413,7'
          Dst:             cache_end_insert
        - Src:             'rfc1035.c:1414,7'
          Dst:             log_query
    - functionName:    check_for_local_domain
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1300
      functionLinenumberEnd: 1335
      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:1308,10'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1312,9'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1316,9'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1320,9'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1324,9'
          Dst:             hostname_issubdomain
        - Src:             'rfc1035.c:1327,7'
          Dst:             cache_find_non_terminal
        - Src:             'rfc1035.c:1330,7'
          Dst:             is_name_synthetic
        - Src:             'rfc1035.c:1331,7'
          Dst:             is_name_synthetic
    - functionName:    setup_reply
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1268
      functionLinenumberEnd: 1296
      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:1274,21'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1293,7'
          Dst:             log_query
    - functionName:    extract_request
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1222
      functionLinenumberEnd: 1265
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc1035.c:1231,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1234,35'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1234,66'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1237,8'
          Dst:             extract_name
    - functionName:    find_soa
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 528
      functionLinenumberEnd: 654
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          401
      EdgeCount:       94
      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:537,13'
          Dst:             skip_questions
        - Src:             'rfc1035.c:538,29'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:538,13'
          Dst:             skip_section
        - Src:             'rfc1035.c:541,14'
          Dst:             strlen
        - Src:             'rfc1035.c:546,19'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:548,12'
          Dst:             extract_name
        - Src:             'rfc1035.c:560,14'
          Dst:             strlen
        - Src:             'rfc1035.c:563,31'
          Dst:             memcmp
        - Src:             'rfc1035.c:569,33'
          Dst:             blockdata_alloc
        - Src:             'rfc1035.c:577,10'
          Dst:             extract_name
        - Src:             'rfc1035.c:577,10'
          Dst:             extract_name
        - Src:             'rfc1035.c:580,4'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:586,15'
          Dst:             to_wire
        - Src:             'rfc1035.c:587,14'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:577,10'
          Dst:             extract_name
        - Src:             'rfc1035.c:586,15'
          Dst:             to_wire
        - Src:             'rfc1035.c:587,14'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:597,7'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:606,10'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:624,10'
          Dst:             cache_insert
        - Src:             'rfc1035.c:626,9'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:546,19'
          Dst:             __bswap_16
    - functionName:    skip_section
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 377
      functionLinenumberEnd: 391
      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:382,20'
          Dst:             skip_name
    - functionName:    extract_addresses
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 1130
      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:         233
      ICount:          1224
      EdgeCount:       330
      CyclomaticComplexity: 99
      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:715,3'
          Dst:             cache_start_insert
        - Src:             'rfc1035.c:719,7'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:719,39'
          Dst:             extract_name
        - Src:             'rfc1035.c:732,67'
          Dst:             in_arpa_name_2_addr
        - Src:             'rfc1035.c:736,18'
          Dst:             skip_questions
        - Src:             'rfc1035.c:739,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:739,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:742,16'
          Dst:             extract_name
        - Src:             'rfc1035.c:771,13'
          Dst:             extract_name
        - Src:             'rfc1035.c:773,8'
          Dst:             log_query
        - Src:             'rfc1035.c:774,8'
          Dst:             cache_insert
        - Src:             'rfc1035.c:778,13'
          Dst:             extract_name
        - Src:             'rfc1035.c:805,46'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:805,85'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:811,18'
          Dst:             skip_questions
        - Src:             'rfc1035.c:814,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:811,18'
          Dst:             skip_questions
        - Src:             'rfc1035.c:814,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:818,16'
          Dst:             extract_name
        - Src:             'rfc1035.c:859,8'
          Dst:             log_query
        - Src:             'rfc1035.c:863,17'
          Dst:             cache_insert
        - Src:             'rfc1035.c:869,6'
          Dst:             next_uid
        - Src:             'rfc1035.c:880,13'
          Dst:             extract_name
        - Src:             'rfc1035.c:893,3'
          Dst:             log_query
        - Src:             'rfc1035.c:901,27'
          Dst:             rrfilter_desc
        - Src:             'rfc1035.c:929,37'
          Dst:             blockdata_alloc
        - Src:             'rfc1035.c:938,15'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:949,15'
          Dst:             extract_name
        - Src:             'rfc1035.c:955,16'
          Dst:             to_wire
        - Src:             'rfc1035.c:956,15'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:967,15'
          Dst:             blockdata_expand
        - Src:             'rfc1035.c:976,14'
          Dst:             extract_name
        - Src:             'rfc1035.c:0,0'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:994,6'
          Dst:             private_net
        - Src:             'rfc1035.c:998,6'
          Dst:             private_net6
        - Src:             'rfc1035.c:1010,8'
          Dst:             cache_send_ipset
        - Src:             'rfc1035.c:1013,14'
          Dst:             add_to_ipset
        - Src:             'rfc1035.c:1014,5'
          Dst:             log_query
        - Src:             'rfc1035.c:1033,12'
          Dst:             cache_insert
        - Src:             'rfc1035.c:1036,9'
          Dst:             next_uid
        - Src:             'rfc1035.c:1044,7'
          Dst:             blockdata_free
        - Src:             'rfc1035.c:1051,30'
          Dst:             rr_on_list
        - Src:             'rfc1035.c:1055,3'
          Dst:             log_txt
        - Src:             'rfc1035.c:1057,3'
          Dst:             log_query
        - Src:             'rfc1035.c:814,23'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:1075,4'
          Dst:             log_query
        - Src:             'rfc1035.c:1089,34'
          Dst:             find_soa
        - Src:             'rfc1035.c:1105,12'
          Dst:             cache_insert
        - Src:             'rfc1035.c:1108,9'
          Dst:             next_uid
        - Src:             'rfc1035.c:1114,4'
          Dst:             find_soa
        - Src:             'rfc1035.c:1127,5'
          Dst:             cache_end_insert
    - functionName:    do_doctor
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 521
      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:461,13'
          Dst:             skip_questions
        - Src:             'rfc1035.c:464,19'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:464,44'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:467,64'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:467,48'
          Dst:             skip_section
        - Src:             'rfc1035.c:470,12'
          Dst:             extract_name
        - Src:             'rfc1035.c:493,10'
          Dst:             is_same_net
        - Src:             'rfc1035.c:496,17'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:496,44'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:497,10'
          Dst:             __bswap_32
        - Src:             'rfc1035.c:511,8'
          Dst:             log_query
        - Src:             'rfc1035.c:464,19'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:464,44'
          Dst:             __bswap_16
    - functionName:    resize_packet
      functionSourceFile: '/src/dnsmasq/src/rfc1035.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 415
      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:395,25'
          Dst:             skip_questions
        - Src:             'rfc1035.c:401,35'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:401,60'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:401,85'
          Dst:             __bswap_16
        - Src:             'rfc1035.c:401,16'
          Dst:             skip_section
        - Src:             'rfc1035.c:410,25'
          Dst:             __bswap_16
    - functionName:    add_local_addrs
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1555
      functionLinenumberEnd: 1575
      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:1571,6'
          Dst:             put_opt6
    - functionName:    update_leases
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1885
      functionLinenumberEnd: 1999
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         81
      ICount:          446
      EdgeCount:       110
      CyclomaticComplexity: 31
      functionsReached:
        - __bswap_16
        - free_real
        - 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_uint
        - opt6_user_vendor_first
        - run_tag_if
        - sprintf
        - strcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:1886,30'
          Dst:             lease6_find_by_addr
        - Src:             'rfc3315.c:1888,30'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:1894,13'
          Dst:             lease6_allocate
        - Src:             'rfc3315.c:1898,7'
          Dst:             lease_set_expires
        - Src:             'rfc3315.c:1899,7'
          Dst:             lease_set_iaid
        - Src:             'rfc3315.c:1900,7'
          Dst:             lease_set_hwaddr
        - Src:             'rfc3315.c:1901,7'
          Dst:             lease_set_interface
        - Src:             'rfc3315.c:1904,24'
          Dst:             get_domain6
        - Src:             'rfc3315.c:1907,4'
          Dst:             lease_set_hostname
        - Src:             'rfc3315.c:1916,4'
          Dst:             free_real
        - Src:             'rfc3315.c:1921,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1923,34'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1926,42'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1926,8'
          Dst:             sprintf
        - Src:             'rfc3315.c:1927,72'
          Dst:             strlen
        - Src:             'rfc3315.c:1927,8'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1929,12'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1930,18'
          Dst:             opt6_user_vendor_first
        - Src:             'rfc3315.c:1934,68'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1934,7'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1931,27'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1931,27'
          Dst:             opt6_user_vendor_first
        - Src:             'rfc3315.c:1939,35'
          Dst:             strlen
        - Src:             'rfc3315.c:1938,4'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1942,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1944,21'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1949,41'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:1949,9'
          Dst:             sprintf
        - Src:             'rfc3315.c:1948,3'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1952,6'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1949,41'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:1949,9'
          Dst:             sprintf
        - Src:             'rfc3315.c:1948,3'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1954,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1955,51'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1955,6'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1957,6'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1961,6'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1965,67'
          Dst:             strlen
        - Src:             'rfc3315.c:1965,3'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1975,8'
          Dst:             strcmp
        - Src:             'rfc3315.c:1978,56'
          Dst:             strlen
        - Src:             'rfc3315.c:1978,4'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1984,6'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:1986,89'
          Dst:             strlen
        - Src:             'rfc3315.c:1986,4'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1988,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1990,34'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1991,23'
          Dst:             opt6_user_vendor_first
        - Src:             'rfc3315.c:1993,64'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1993,3'
          Dst:             lease_add_extradata
        - Src:             'rfc3315.c:1992,25'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1992,25'
          Dst:             opt6_user_vendor_first
    - functionName:    opt6_find
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2104
      functionLinenumberEnd: 2110
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          56
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - opt6_first
        - opt6_uint
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2105,15'
          Dst:             opt6_first
        - Src:             'rfc3315.c:2106,9'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2106,38'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2105,51'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2105,51'
          Dst:             opt6_first
    - functionName:    opt6_uint
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2145
      functionLinenumberEnd: 2154
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    90
      BranchProfiles:  []
      Callsites:       []
    - functionName:    opt6_user_vendor_first
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2129
      functionLinenumberEnd: 2142
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          33
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - opt6_uint
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2138,18'
          Dst:             opt6_uint
    - 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:    opt6_first
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2113
      functionLinenumberEnd: 2126
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          39
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - opt6_uint
      functionUses:    27
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2122,18'
          Dst:             opt6_uint
    - functionName:    log6_opts
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2004
      functionLinenumberEnd: 2068
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          185
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - inet_ntop
        - log6_opts
        - my_syslog
        - opt6_first
        - opt6_uint
        - option_string
        - sprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2011,14'
          Dst:             opt6_first
        - Src:             'rfc3315.c:2013,18'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2020,5'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2020,27'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2020,49'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2019,4'
          Dst:             sprintf
        - Src:             'rfc3315.c:2026,41'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2026,4'
          Dst:             sprintf
        - Src:             'rfc3315.c:2036,4'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:2038,23'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2038,46'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2037,4'
          Dst:             sprintf
        - Src:             'rfc3315.c:2044,8'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2047,51'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2047,18'
          Dst:             sprintf
        - Src:             'rfc3315.c:2059,67'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2059,14'
          Dst:             option_string
        - Src:             'rfc3315.c:2063,14'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2062,7'
          Dst:             my_syslog
        - Src:             'rfc3315.c:2066,32'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2066,2'
          Dst:             log6_opts
        - Src:             'rfc3315.c:2011,59'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2011,59'
          Dst:             opt6_first
    - functionName:    calculate_times
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1839
      functionLinenumberEnd: 1882
      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: 1751
      functionLinenumberEnd: 1777
      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:1767,29'
          Dst:             addr6part
        - Src:             'rfc3315.c:1767,4'
          Dst:             setaddr6part
        - Src:             'rfc3315.c:1769,17'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:1772,11'
          Dst:             is_same_net6
    - functionName:    add_options
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1322
      functionLinenumberEnd: 1551
      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:1325,30'
          Dst:             option_filter
        - Src:             'rfc3315.c:1330,9'
          Dst:             opt6_find
        - Src:             'rfc3315.c:0,0'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1341,10'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:0,0'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:1363,4'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:1369,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1377,14'
          Dst:             add_local_addrs
        - Src:             'rfc3315.c:1380,14'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:1385,14'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:0,0'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1401,9'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1402,9'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1405,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1413,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1415,6'
          Dst:             put_opt6
        - Src:             'rfc3315.c:0,0'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1422,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1423,12'
          Dst:             add_local_addrs
        - Src:             'rfc3315.c:1424,2'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1425,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1445,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1446,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1447,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:0,0'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1457,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1478,12'
          Dst:             match_netid
        - Src:             'rfc3315.c:1491,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1492,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1497,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1498,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1499,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1501,8'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1510,20'
          Dst:             strlen
        - Src:             'rfc3315.c:1513,9'
          Dst:             strlen
        - Src:             'rfc3315.c:1515,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1516,16'
          Dst:             expand
        - Src:             'rfc3315.c:1519,8'
          Dst:             do_rfc1035_name
        - Src:             'rfc3315.c:1522,12'
          Dst:             do_rfc1035_name
        - Src:             'rfc3315.c:1526,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1534,24'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1536,38'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1536,14'
          Dst:             option_string
        - Src:             'rfc3315.c:1539,4'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1542,9'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1537,9'
          Dst:             snprintf
        - Src:             'rfc3315.c:1543,14'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1546,8'
          Dst:             my_syslog
        - Src:             'rfc3315.c:1534,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: 2077
      functionLinenumberEnd: 2101
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          85
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - inet_ntop
        - my_syslog
        - print_mac
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2080,7'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:2081,7'
          Dst:             strlen
        - Src:             'rfc3315.c:2092,8'
          Dst:             print_mac
        - Src:             'rfc3315.c:2087,5'
          Dst:             my_syslog
        - Src:             'rfc3315.c:2099,8'
          Dst:             print_mac
        - Src:             'rfc3315.c:2095,5'
          Dst:             my_syslog
    - functionName:    end_ia
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1643
      functionLinenumberEnd: 1664
      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:1647,17'
          Dst:             save_counter
        - Src:             'rfc3315.c:1652,11'
          Dst:             rand16
        - Src:             'rfc3315.c:1660,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1661,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1662,7'
          Dst:             save_counter
    - functionName:    get_context_tag
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1580
      functionLinenumberEnd: 1597
      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:1591,30'
          Dst:             match_netid
    - functionName:    mark_context_used
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1716
      functionLinenumberEnd: 1723
      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:1721,9'
          Dst:             is_same_net6
    - functionName:    add_address
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1668
      functionLinenumberEnd: 1713
      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:1670,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1676,25'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1677,21'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1680,3'
          Dst:             calculate_times
        - Src:             'rfc3315.c:1682,3'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1683,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1684,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1685,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1688,5'
          Dst:             update_leases
        - Src:             'rfc3315.c:1690,16'
          Dst:             lease6_find_by_addr
        - Src:             'rfc3315.c:1704,30'
          Dst:             match_netid
        - Src:             'rfc3315.c:1711,3'
          Dst:             log6_quiet
    - functionName:    log6_quiet
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2071
      functionLinenumberEnd: 2074
      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:2073,5'
          Dst:             log6_packet
    - functionName:    check_address
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1734
      functionLinenumberEnd: 1746
      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:1737,17'
          Dst:             lease6_find_by_addr
        - Src:             'rfc3315.c:1741,7'
          Dst:             memcmp
    - functionName:    mark_config_used
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1726
      functionLinenumberEnd: 1730
      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:1728,9'
          Dst:             is_same_net6
    - functionName:    config_valid
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1780
      functionLinenumberEnd: 1819
      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:1789,2'
          Dst:             difftime
        - Src:             'rfc3315.c:1791,13'
          Dst:             addr6part
        - Src:             'rfc3315.c:1804,11'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:1811,6'
          Dst:             setaddr6part
        - Src:             'rfc3315.c:1813,10'
          Dst:             check_address
    - functionName:    build_ia
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1624
      functionLinenumberEnd: 1639
      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:1625,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1627,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1633,17'
          Dst:             save_counter
        - Src:             'rfc3315.c:1635,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1636,7'
          Dst:             put_opt6_long
    - functionName:    check_ia
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1600
      functionLinenumberEnd: 1620
      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:1604,20'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1609,42'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1612,42'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1615,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1616,17'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1617,16'
          Dst:             opt6_find
    - functionName:    dhcp6_no_relay
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 1319
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         550
      ICount:          2917
      EdgeCount:       755
      CyclomaticComplexity: 207
      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_first
        - opt6_uint
        - opt6_user_vendor_first
        - 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:641,3'
          Branch Sides:    []
      Callsites:
        - Src:             'rfc3315.c:312,15'
          Dst:             save_counter
        - Src:             'rfc3315.c:314,8'
          Dst:             put_opt6
        - Src:             'rfc3315.c:316,16'
          Dst:             save_counter
        - Src:             'rfc3315.c:327,5'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:328,5'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:330,7'
          Dst:             my_syslog
        - Src:             'rfc3315.c:333,7'
          Dst:             my_syslog
        - Src:             'rfc3315.c:338,14'
          Dst:             opt6_find
        - Src:             'rfc3315.c:349,9'
          Dst:             opt6_find
        - Src:             'rfc3315.c:341,25'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:342,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:343,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:344,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:349,9'
          Dst:             opt6_find
        - Src:             'rfc3315.c:360,19'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:361,5'
          Dst:             memcmp
        - Src:             'rfc3315.c:367,19'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:368,4'
          Dst:             memcmp
        - Src:             'rfc3315.c:372,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:373,3'
          Dst:             put_opt6
        - Src:             'rfc3315.c:374,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:388,18'
          Dst:             opt6_find
        - Src:             'rfc3315.c:390,30'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:398,61'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:418,19'
          Dst:             opt6_user_vendor_first
        - Src:             'rfc3315.c:0,0'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:421,12'
          Dst:             memcmp
        - Src:             'rfc3315.c:419,28'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:419,28'
          Dst:             opt6_user_vendor_first
        - Src:             'rfc3315.c:430,43'
          Dst:             opt6_find
        - Src:             'rfc3315.c:431,73'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:431,5'
          Dst:             my_syslog
        - Src:             'rfc3315.c:443,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:448,21'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:450,20'
          Dst:             opt6_find
        - Src:             'rfc3315.c:453,56'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:453,16'
          Dst:             match_bytes
        - Src:             'rfc3315.c:452,23'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:452,23'
          Dst:             opt6_first
        - Src:             'rfc3315.c:452,13'
          Dst:             opt6_find
        - Src:             'rfc3315.c:445,25'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:445,25'
          Dst:             opt6_first
        - Src:             'rfc3315.c:445,15'
          Dst:             opt6_find
        - Src:             'rfc3315.c:461,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:464,51'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:464,12'
          Dst:             match_bytes
        - Src:             'rfc3315.c:478,5'
          Dst:             print_mac
        - Src:             'rfc3315.c:477,2'
          Dst:             my_syslog
        - Src:             'rfc3315.c:483,6'
          Dst:             memcmp_masked
        - Src:             'rfc3315.c:490,5'
          Dst:             my_syslog
        - Src:             'rfc3315.c:492,14'
          Dst:             opt6_find
        - Src:             'rfc3315.c:495,18'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:497,28'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:523,9'
          Dst:             legal_hostname
        - Src:             'rfc3315.c:526,21'
          Dst:             strlen
        - Src:             'rfc3315.c:531,4'
          Dst:             my_syslog
        - Src:             'rfc3315.c:535,18'
          Dst:             strlen
        - Src:             'rfc3315.c:546,10'
          Dst:             hostname_isequal
        - Src:             'rfc3315.c:546,10'
          Dst:             hostname_isequal
        - Src:             'rfc3315.c:562,59'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:561,17'
          Dst:             find_config
        - Src:             'rfc3315.c:571,23'
          Dst:             strip_hostname
        - Src:             'rfc3315.c:582,119'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:582,34'
          Dst:             find_config
        - Src:             'rfc3315.c:609,61'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:608,5'
          Dst:             find_config
        - Src:             'rfc3315.c:616,11'
          Dst:             run_tag_if
        - Src:             'rfc3315.c:624,6'
          Dst:             match_netid
        - Src:             'rfc3315.c:634,27'
          Dst:             match_netid
        - Src:             'rfc3315.c:656,6'
          Dst:             opt6_find
        - Src:             'rfc3315.c:660,10'
          Dst:             new_opt6
        - Src:             'rfc3315.c:661,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:664,4'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:674,2'
          Dst:             lease6_reset
        - Src:             'rfc3315.c:680,13'
          Dst:             opt6_first
        - Src:             'rfc3315.c:693,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:700,10'
          Dst:             build_ia
        - Src:             'rfc3315.c:709,12'
          Dst:             address6_valid
        - Src:             'rfc3315.c:715,46'
          Dst:             config_valid
        - Src:             'rfc3315.c:718,4'
          Dst:             mark_config_used
        - Src:             'rfc3315.c:722,22'
          Dst:             address6_available
        - Src:             'rfc3315.c:724,17'
          Dst:             check_address
        - Src:             'rfc3315.c:728,7'
          Dst:             add_address
        - Src:             'rfc3315.c:729,7'
          Dst:             mark_context_used
        - Src:             'rfc3315.c:730,7'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:704,74'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:704,74'
          Dst:             opt6_first
        - Src:             'rfc3315.c:704,64'
          Dst:             opt6_find
        - Src:             'rfc3315.c:738,5'
          Dst:             match_netid
        - Src:             'rfc3315.c:739,5'
          Dst:             config_valid
        - Src:             'rfc3315.c:741,5'
          Dst:             mark_config_used
        - Src:             'rfc3315.c:748,5'
          Dst:             add_address
        - Src:             'rfc3315.c:749,5'
          Dst:             mark_context_used
        - Src:             'rfc3315.c:750,5'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:756,21'
          Dst:             lease6_find_by_client
        - Src:             'rfc3315.c:769,18'
          Dst:             address6_allocate
        - Src:             'rfc3315.c:759,12'
          Dst:             address6_available
        - Src:             'rfc3315.c:761,7'
          Dst:             add_address
        - Src:             'rfc3315.c:762,7'
          Dst:             mark_context_used
        - Src:             'rfc3315.c:763,7'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:772,3'
          Dst:             add_address
        - Src:             'rfc3315.c:773,3'
          Dst:             mark_context_used
        - Src:             'rfc3315.c:774,3'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:769,18'
          Dst:             address6_allocate
        - Src:             'rfc3315.c:784,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:785,3'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:786,3'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:787,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:790,6'
          Dst:             end_ia
        - Src:             'rfc3315.c:791,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:680,71'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:680,71'
          Dst:             opt6_first
        - Src:             'rfc3315.c:796,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:797,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:798,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:799,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:803,10'
          Dst:             new_opt6
        - Src:             'rfc3315.c:804,6'
          Dst:             put_opt6_char
        - Src:             'rfc3315.c:805,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:810,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:811,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:812,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:813,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:821,5'
          Dst:             log6_packet
        - Src:             'rfc3315.c:826,10'
          Dst:             add_options
        - Src:             'rfc3315.c:833,14'
          Dst:             save_counter
        - Src:             'rfc3315.c:839,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:844,13'
          Dst:             opt6_first
        - Src:             'rfc3315.c:850,12'
          Dst:             check_ia
        - Src:             'rfc3315.c:861,10'
          Dst:             build_ia
        - Src:             'rfc3315.c:873,12'
          Dst:             address6_valid
        - Src:             'rfc3315.c:876,18'
          Dst:             address6_available
        - Src:             'rfc3315.c:874,18'
          Dst:             config_implies
        - Src:             'rfc3315.c:876,18'
          Dst:             address6_available
        - Src:             'rfc3315.c:881,9'
          Dst:             new_opt6
        - Src:             'rfc3315.c:882,4'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:883,4'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:884,4'
          Dst:             end_opt6
        - Src:             'rfc3315.c:886,17'
          Dst:             check_address
        - Src:             'rfc3315.c:886,17'
          Dst:             check_address
        - Src:             'rfc3315.c:889,9'
          Dst:             new_opt6
        - Src:             'rfc3315.c:890,4'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:891,4'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:892,4'
          Dst:             end_opt6
        - Src:             'rfc3315.c:904,4'
          Dst:             add_address
        - Src:             'rfc3315.c:905,4'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:912,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:913,7'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:914,7'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:915,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:863,46'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:863,46'
          Dst:             opt6_first
        - Src:             'rfc3315.c:863,36'
          Dst:             opt6_find
        - Src:             'rfc3315.c:919,6'
          Dst:             end_ia
        - Src:             'rfc3315.c:920,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:857,4'
          Dst:             save_counter
        - Src:             'rfc3315.c:844,71'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:844,71'
          Dst:             opt6_first
        - Src:             'rfc3315.c:925,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:926,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:927,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:928,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:933,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:934,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:935,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:936,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:937,6'
          Dst:             log6_packet
        - Src:             'rfc3315.c:940,10'
          Dst:             add_options
        - Src:             'rfc3315.c:953,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:955,13'
          Dst:             opt6_first
        - Src:             'rfc3315.c:961,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:964,10'
          Dst:             build_ia
        - Src:             'rfc3315.c:965,15'
          Dst:             save_counter
        - Src:             'rfc3315.c:971,34'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:972,30'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:978,17'
          Dst:             lease6_find
        - Src:             'rfc3315.c:987,14'
          Dst:             lease6_allocate
        - Src:             'rfc3315.c:989,6'
          Dst:             lease_set_iaid
        - Src:             'rfc3315.c:998,4'
          Dst:             save_counter
        - Src:             'rfc3315.c:1001,4'
          Dst:             log6_packet
        - Src:             'rfc3315.c:1003,9'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1004,4'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1005,4'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1006,4'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1013,23'
          Dst:             address6_available
        - Src:             'rfc3315.c:1014,23'
          Dst:             address6_valid
        - Src:             'rfc3315.c:1018,7'
          Dst:             get_context_tag
        - Src:             'rfc3315.c:1020,11'
          Dst:             config_implies
        - Src:             'rfc3315.c:1025,7'
          Dst:             calculate_times
        - Src:             'rfc3315.c:1027,7'
          Dst:             lease_set_expires
        - Src:             'rfc3315.c:1030,9'
          Dst:             lease_set_hwaddr
        - Src:             'rfc3315.c:1033,24'
          Dst:             get_domain6
        - Src:             'rfc3315.c:1036,4'
          Dst:             lease_set_hostname
        - Src:             'rfc3315.c:1053,5'
          Dst:             log6_packet
        - Src:             'rfc3315.c:1055,5'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1057,9'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1058,3'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1059,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1060,3'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1061,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:967,46'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:967,46'
          Dst:             opt6_first
        - Src:             'rfc3315.c:967,36'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1064,6'
          Dst:             end_ia
        - Src:             'rfc3315.c:1065,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:955,71'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:955,71'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1071,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1072,6'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1073,6'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1074,6'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1077,10'
          Dst:             add_options
        - Src:             'rfc3315.c:1088,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1090,13'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1094,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:1103,8'
          Dst:             address6_valid
        - Src:             'rfc3315.c:0,0'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1096,26'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1096,26'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1096,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1090,71'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1090,71'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1120,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1121,2'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1122,2'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1123,2'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1130,6'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1131,6'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1148,25'
          Dst:             get_domain6
        - Src:             'rfc3315.c:1150,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1150,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1154,10'
          Dst:             add_options
        - Src:             'rfc3315.c:1164,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1166,13'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1171,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:1180,16'
          Dst:             lease6_find
        - Src:             'rfc3315.c:1182,5'
          Dst:             lease_prune
        - Src:             'rfc3315.c:1187,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1188,4'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1191,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1192,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1197,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1198,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1199,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1200,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1201,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1173,26'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1173,26'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1173,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1207,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1208,3'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1209,3'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1210,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1212,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1166,71'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1166,71'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1216,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1217,2'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1218,2'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1219,2'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1229,2'
          Dst:             log6_quiet
        - Src:             'rfc3315.c:1231,13'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1236,11'
          Dst:             check_ia
        - Src:             'rfc3315.c:1247,20'
          Dst:             config_implies
        - Src:             'rfc3315.c:1249,7'
          Dst:             prettyprint_time
        - Src:             'rfc3315.c:1250,7'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:1251,7'
          Dst:             my_syslog
        - Src:             'rfc3315.c:1261,16'
          Dst:             lease6_find
        - Src:             'rfc3315.c:1263,5'
          Dst:             lease_prune
        - Src:             'rfc3315.c:1268,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1269,4'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1272,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1273,8'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1278,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1279,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:1280,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1281,7'
          Dst:             put_opt6_long
        - Src:             'rfc3315.c:1282,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1238,26'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1238,26'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1238,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:1288,8'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1289,3'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1290,3'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1291,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1293,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1231,71'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:1231,71'
          Dst:             opt6_first
        - Src:             'rfc3315.c:1299,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:1300,2'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:1301,2'
          Dst:             put_opt6_string
        - Src:             'rfc3315.c:1302,2'
          Dst:             end_opt6
        - Src:             'rfc3315.c:1308,3'
          Dst:             log_tags
        - Src:             'rfc3315.c:1315,120'
          Dst:             save_counter
        - Src:             'rfc3315.c:1315,3'
          Dst:             log6_opts
    - functionName:    do_snoop_script_run
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2353
      functionLinenumberEnd: 2369
      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:2364,2'
          Dst:             queue_relay_snoop
    - functionName:    relay_reply6
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2272
      functionLinenumberEnd: 2349
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          259
      EdgeCount:       71
      CyclomaticComplexity: 22
      functionsReached:
        - __bswap_16
        - opt6_find
        - opt6_first
        - opt6_uint
        - put_opt6
        - reset_counter
        - whine_malloc_real
        - wildcard_match
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:2287,24'
          Dst:             wildcard_match
        - Src:             'rfc3315.c:2290,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:2290,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:2297,18'
          Dst:             opt6_find
        - Src:             'rfc3315.c:2299,21'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2300,31'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2300,4'
          Dst:             put_opt6
        - Src:             'rfc3315.c:2306,26'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:2310,22'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:2317,14'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2319,19'
          Dst:             opt6_find
        - Src:             'rfc3315.c:2322,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2324,16'
          Dst:             opt6_find
        - Src:             'rfc3315.c:2326,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2329,31'
          Dst:             whine_malloc_real
        - Src:             'rfc3315.c:2335,28'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2324,81'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:2324,81'
          Dst:             opt6_first
        - Src:             'rfc3315.c:2324,71'
          Dst:             opt6_find
    - functionName:    relay_upstream6
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2160
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - size_t
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          378
      EdgeCount:       97
      CyclomaticComplexity: 29
      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:2177,3'
          Dst:             inet_pton
        - Src:             'rfc3315.c:2178,3'
          Dst:             get_client_mac
        - Src:             'rfc3315.c:2198,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:2198,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:2201,35'
          Dst:             put_opt6
        - Src:             'rfc3315.c:2211,11'
          Dst:             new_opt6
        - Src:             'rfc3315.c:2212,7'
          Dst:             put_opt6_short
        - Src:             'rfc3315.c:2213,7'
          Dst:             put_opt6
        - Src:             'rfc3315.c:2214,7'
          Dst:             end_opt6
        - Src:             'rfc3315.c:2217,7'
          Dst:             new_opt6
        - Src:             'rfc3315.c:2218,3'
          Dst:             put_opt6
        - Src:             'rfc3315.c:2219,3'
          Dst:             end_opt6
        - Src:             'rfc3315.c:2233,21'
          Dst:             __bswap_16
        - Src:             'rfc3315.c:2240,31'
          Dst:             strchr
        - Src:             'rfc3315.c:2241,22'
          Dst:             if_nametoindex
        - Src:             'rfc3315.c:2242,3'
          Dst:             setsockopt
        - Src:             'rfc3315.c:2244,3'
          Dst:             my_syslog
        - Src:             'rfc3315.c:2250,67'
          Dst:             save_counter
        - Src:             'rfc3315.c:2250,2'
          Dst:             dump_packet_udp
        - Src:             'rfc3315.c:2253,80'
          Dst:             save_counter
        - Src:             'rfc3315.c:2254,33'
          Dst:             sa_len
        - Src:             'rfc3315.c:2253,20'
          Dst:             sendto
        - Src:             'rfc3315.c:2253,9'
          Dst:             retry_send
        - Src:             'rfc3315.c:2258,6'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:2260,8'
          Dst:             snprintf
        - Src:             'rfc3315.c:2262,8'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:2263,6'
          Dst:             my_syslog
    - functionName:    dhcp6_maybe_relay
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         122
      ICount:          573
      EdgeCount:       172
      CyclomaticComplexity: 52
      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_first
        - opt6_uint
        - put_opt6
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:147,9'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:148,9'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:148,9'
          Dst:             __bswap_32
        - Src:             'rfc3315.c:163,4'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:164,4'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:171,8'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:172,8'
          Dst:             is_same_net6
        - Src:             'rfc3315.c:182,8'
          Dst:             inet_ntop
        - Src:             'rfc3315.c:183,8'
          Dst:             my_syslog
        - Src:             'rfc3315.c:140,2'
          Dst:             get_client_mac
        - Src:             'rfc3315.c:192,4'
          Dst:             my_syslog
        - Src:             'rfc3315.c:199,14'
          Dst:             dhcp6_no_relay
        - Src:             'rfc3315.c:208,23'
          Dst:             put_opt6
        - Src:             'rfc3315.c:224,18'
          Dst:             opt6_find
        - Src:             'rfc3315.c:225,19'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:226,4'
          Dst:             memcmp
        - Src:             'rfc3315.c:236,14'
          Dst:             opt6_find
        - Src:             'rfc3315.c:238,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:241,25'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:242,24'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:246,14'
          Dst:             opt6_first
        - Src:             'rfc3315.c:249,11'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:251,12'
          Dst:             new_opt6
        - Src:             'rfc3315.c:252,8'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:262,56'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:262,13'
          Dst:             dhcp6_maybe_relay
        - Src:             'rfc3315.c:267,33'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:267,6'
          Dst:             put_opt6
        - Src:             'rfc3315.c:268,4'
          Dst:             end_opt6
        - Src:             'rfc3315.c:246,48'
          Dst:             opt6_uint
        - Src:             'rfc3315.c:246,48'
          Dst:             opt6_first
    - functionName:    dhcp6_reply
      functionSourceFile: '/src/dnsmasq/src/rfc3315.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 108
      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:         19
      ICount:          102
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - dhcp6_maybe_relay
        - reset_counter
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc3315.c:94,3'
          Dst:             reset_counter
        - Src:             'rfc3315.c:104,7'
          Dst:             dhcp6_maybe_relay
    - functionName:    from_wire
      functionSourceFile: '/src/dnsmasq/src/rrfilter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 408
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          110
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    to_wire
      functionSourceFile: '/src/dnsmasq/src/rrfilter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 376
      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:    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_real
        - 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_real
        - 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:
        - free_real
        - lease_update_dns
        - ra_start_unsolicited
        - whine_malloc_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'slaac.c:91,25'
          Dst:             whine_malloc_real
        - 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
        - Src:             'slaac.c:114,7'
          Dst:             free_real
    - functionName:    check_tftp_fileperm
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 622
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          243
      EdgeCount:       68
      CyclomaticComplexity: 21
      functionsReached:
        - __errno_location
        - close
        - fstat64
        - geteuid
        - open64
        - strcmp
        - strcpy
        - strerror
        - strlen
        - strstr
        - tftp_err
        - tftp_err_oops
        - whine_malloc_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:541,15'
          Dst:             geteuid
        - Src:             'tftp.c:548,23'
          Dst:             strstr
        - Src:             'tftp.c:554,13'
          Dst:             open64
        - Src:             'tftp.c:556,11'
          Dst:             __errno_location
        - Src:             'tftp.c:558,11'
          Dst:             tftp_err
        - Src:             'tftp.c:618,11'
          Dst:             tftp_err_oops
        - Src:             'tftp.c:568,7'
          Dst:             fstat64
        - Src:             'tftp.c:589,2'
          Dst:             strcmp
        - Src:             'tftp.c:591,2'
          Dst:             close
        - Src:             'tftp.c:596,16'
          Dst:             strlen
        - Src:             'tftp.c:596,16'
          Dst:             whine_malloc_real
        - Src:             'tftp.c:608,3'
          Dst:             strcpy
        - Src:             'tftp.c:612,75'
          Dst:             strerror
        - Src:             'tftp.c:612,11'
          Dst:             tftp_err
        - Src:             'tftp.c:614,5'
          Dst:             close
        - Src:             'tftp.c:598,7'
          Dst:             __errno_location
        - Src:             'tftp.c:618,11'
          Dst:             tftp_err_oops
        - Src:             'tftp.c:620,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: 878
      functionLinenumberEnd: 896
      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:886,5'
          Dst:             sanitise
        - Src:             'tftp.c:888,14'
          Dst:             __bswap_16
        - Src:             'tftp.c:889,15'
          Dst:             __bswap_16
        - Src:             'tftp.c:890,9'
          Dst:             snprintf
        - Src:             'tftp.c:894,5'
          Dst:             my_syslog
    - functionName:    tftp_err_oops
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 900
      functionLinenumberEnd: 904
      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:903,5'
          Dst:             strcpy
        - Src:             'tftp.c:904,91'
          Dst:             __errno_location
        - Src:             'tftp.c:904,82'
          Dst:             strerror
        - Src:             'tftp.c:904,10'
          Dst:             tftp_err
    - functionName:    sanitise
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 874
      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: 844
      functionLinenumberEnd: 856
      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: 1028
      functionLinenumberEnd: 1042
      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:1035,7'
          Dst:             queue_tftp
        - Src:             'tftp.c:1037,7'
          Dst:             free_transfer
    - functionName:    free_transfer
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 841
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          56
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - free_real
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'tftp.c:832,5'
          Dst:             close
        - Src:             'tftp.c:836,7'
          Dst:             close
        - Src:             'tftp.c:837,7'
          Dst:             free_real
        - Src:             'tftp.c:840,3'
          Dst:             free_real
    - functionName:    get_block
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 909
      functionLinenumberEnd: 1024
      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:927,18'
          Dst:             __bswap_16
        - Src:             'tftp.c:931,10'
          Dst:             sprintf
        - Src:             'tftp.c:936,10'
          Dst:             sprintf
        - Src:             'tftp.c:941,10'
          Dst:             sprintf
        - Src:             'tftp.c:946,10'
          Dst:             sprintf
        - Src:             'tftp.c:977,18'
          Dst:             __bswap_16
        - Src:             'tftp.c:978,21'
          Dst:             __bswap_16
        - Src:             'tftp.c:983,8'
          Dst:             lseek64
        - Src:             'tftp.c:986,9'
          Dst:             read_write
    - functionName:    handle_tftp
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 756
      functionLinenumberEnd: 827
      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:763,11'
          Dst:             __bswap_16
        - Src:             'tftp.c:766,14'
          Dst:             __bswap_16
        - Src:             'tftp.c:809,16'
          Dst:             next
        - Src:             'tftp.c:811,10'
          Dst:             prettyprint_addr
        - Src:             'tftp.c:817,6'
          Dst:             sanitise
        - Src:             'tftp.c:820,12'
          Dst:             __bswap_16
        - Src:             'tftp.c:819,4'
          Dst:             my_syslog
    - functionName:    tftp_request
      functionSourceFile: '/src/dnsmasq/src/tftp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         292
      ICount:          1503
      EdgeCount:       404
      CyclomaticComplexity: 114
      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_real
        - 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_real
        - 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:254,8'
          Dst:             sockaddr_isequal
        - Src:             'tftp.c:256,12'
          Dst:             __bswap_16
        - Src:             'tftp.c:261,5'
          Dst:             free_transfer
        - Src:             'tftp.c:266,5'
          Dst:             handle_tftp
        - Src:             'tftp.c:285,6'
          Dst:             strcmp
        - Src:             'tftp.c:291,26'
          Dst:             __bswap_16
        - Src:             'tftp.c:298,28'
          Dst:             __bswap_16
        - Src:             'tftp.c:306,20'
          Dst:             whine_malloc_real
        - Src:             'tftp.c:311,32'
          Dst:             socket
        - Src:             'tftp.c:313,7'
          Dst:             free_real
        - Src:             'tftp.c:329,9'
          Dst:             prettyprint_addr
        - Src:             'tftp.c:334,44'
          Dst:             sa_len
        - Src:             'tftp.c:334,11'
          Dst:             bind
        - Src:             'tftp.c:336,4'
          Dst:             setsockopt
        - Src:             'tftp.c:338,5'
          Dst:             fix_fd
        - Src:             'tftp.c:340,8'
          Dst:             __errno_location
        - Src:             'tftp.c:0,0'
          Dst:             __bswap_16
        - Src:             'tftp.c:351,8'
          Dst:             my_syslog
        - Src:             'tftp.c:353,4'
          Dst:             free_transfer
        - Src:             'tftp.c:364,7'
          Dst:             __bswap_16
        - Src:             'tftp.c:365,11'
          Dst:             tftp_err
        - Src:             'tftp.c:368,24'
          Dst:             next
        - Src:             'tftp.c:369,8'
          Dst:             tftp_err
        - Src:             'tftp.c:370,25'
          Dst:             next
        - Src:             'tftp.c:370,44'
          Dst:             strcasecmp
        - Src:             'tftp.c:370,78'
          Dst:             strcasecmp
        - Src:             'tftp.c:371,8'
          Dst:             tftp_err
        - Src:             'tftp.c:376,8'
          Dst:             strcasecmp
        - Src:             'tftp.c:379,18'
          Dst:             next
        - Src:             'tftp.c:379,43'
          Dst:             next
        - Src:             'tftp.c:381,27'
          Dst:             atoi
        - Src:             'tftp.c:383,12'
          Dst:             strcasecmp
        - Src:             'tftp.c:397,17'
          Dst:             strcasecmp
        - Src:             'tftp.c:402,17'
          Dst:             strcasecmp
        - Src:             'tftp.c:410,17'
          Dst:             strcasecmp
        - Src:             'tftp.c:379,18'
          Dst:             next
        - Src:             'tftp.c:428,13'
          Dst:             __ctype_tolower_loc
        - Src:             'tftp.c:435,56'
          Dst:             strlen
        - Src:             'tftp.c:435,8'
          Dst:             strncat
        - Src:             'tftp.c:436,19'
          Dst:             strlen
        - Src:             'tftp.c:437,48'
          Dst:             strlen
        - Src:             'tftp.c:437,3'
          Dst:             strncat
        - Src:             'tftp.c:441,21'
          Dst:             strlen
        - Src:             'tftp.c:444,5'
          Dst:             strncat
        - Src:             'tftp.c:445,50'
          Dst:             strlen
        - Src:             'tftp.c:445,5'
          Dst:             strncat
        - Src:             'tftp.c:448,9'
          Dst:             stat64
        - Src:             'tftp.c:461,36'
          Dst:             lease_find_by_addr
        - Src:             'tftp.c:468,21'
          Dst:             find_mac
        - Src:             'tftp.c:473,25'
          Dst:             strlen
        - Src:             'tftp.c:476,9'
          Dst:             snprintf
        - Src:             'tftp.c:480,13'
          Dst:             stat64
        - Src:             'tftp.c:488,9'
          Dst:             strstr
        - Src:             'tftp.c:496,54'
          Dst:             strlen
        - Src:             'tftp.c:496,4'
          Dst:             strncat
        - Src:             'tftp.c:499,26'
          Dst:             check_tftp_fileperm
        - Src:             'tftp.c:506,19'
          Dst:             get_block
        - Src:             'tftp.c:507,9'
          Dst:             tftp_err_oops
        - Src:             'tftp.c:520,7'
          Dst:             send_from
        - Src:             'tftp.c:523,7'
          Dst:             dump_packet_udp
        - Src:             'tftp.c:528,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: 625
      functionLinenumberEnd: 753
      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:633,35'
          Dst:             poll_check
        - Src:             'tftp.c:634,7'
          Dst:             tftp_request
        - Src:             'tftp.c:639,11'
          Dst:             poll_check
        - Src:             'tftp.c:645,15'
          Dst:             recvfrom
        - Src:             'tftp.c:648,8'
          Dst:             dump_packet_udp
        - Src:             'tftp.c:651,12'
          Dst:             sockaddr_isequal
        - Src:             'tftp.c:652,3'
          Dst:             handle_tftp
        - Src:             'tftp.c:656,5'
          Dst:             prettyprint_addr
        - Src:             'tftp.c:657,11'
          Dst:             tftp_err
        - Src:             'tftp.c:658,73'
          Dst:             sa_len
        - Src:             'tftp.c:658,22'
          Dst:             sendto
        - Src:             'tftp.c:658,11'
          Dst:             retry_send
        - Src:             'tftp.c:661,5'
          Dst:             dump_packet_udp
        - Src:             'tftp.c:676,16'
          Dst:             difftime
        - Src:             'tftp.c:681,8'
          Dst:             get_block
        - Src:             'tftp.c:684,16'
          Dst:             difftime
        - Src:             'tftp.c:701,19'
          Dst:             get_block
        - Src:             'tftp.c:711,11'
          Dst:             tftp_err_oops
        - Src:             'tftp.c:715,8'
          Dst:             send_from
        - Src:             'tftp.c:718,8'
          Dst:             dump_packet_udp
        - Src:             'tftp.c:724,6'
          Dst:             get_block
        - Src:             'tftp.c:729,4'
          Dst:             strcpy
        - Src:             'tftp.c:730,4'
          Dst:             sanitise
        - Src:             'tftp.c:731,10'
          Dst:             prettyprint_addr
        - Src:             'tftp.c:735,6'
          Dst:             my_syslog
        - Src:             'tftp.c:737,6'
          Dst:             my_syslog
        - Src:             'tftp.c:733,6'
          Dst:             my_syslog
        - Src:             'tftp.c:742,6'
          Dst:             free_transfer
    - functionName:    get_line_alloc
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1043
      functionLinenumberEnd: 1090
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          108
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - getc
        - whine_realloc_real
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:1048,17'
          Dst:             getc
        - Src:             'util.c:1054,13'
          Dst:             whine_realloc_real
        - Src:             'util.c:1064,12'
          Dst:             getc
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    whine_realloc_real
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 965
      functionLinenumberEnd: 978
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          48
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - my_syslog
        - realloc
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:967,15'
          Dst:             realloc
        - Src:             'util.c:970,5'
          Dst:             my_syslog
        - Src:             'util.c:975,7'
          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:    free_real
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1030
      functionLinenumberEnd: 1038
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - my_syslog
      functionUses:    167
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:1034,2'
          Dst:             my_syslog
    - functionName:    malloc_log_real
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1023
      functionLinenumberEnd: 1026
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          34
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - my_syslog
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:1025,5'
          Dst:             my_syslog
    - functionName:    expand_workspace_real
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1002
      functionLinenumberEnd: 1020
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          43
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - whine_realloc_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:1011,13'
          Dst:             whine_realloc_real
    - functionName:    kernel_version
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 933
      functionLinenumberEnd: 947
      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:938,7'
          Dst:             uname
        - Src:             'util.c:939,5'
          Dst:             die
        - Src:             'util.c:941,11'
          Dst:             strtok
        - Src:             'util.c:942,22'
          Dst:             atoi
        - Src:             'util.c:943,11'
          Dst:             strtok
        - Src:             'util.c:944,38'
          Dst:             atoi
        - Src:             'util.c:945,11'
          Dst:             strtok
        - Src:             'util.c:946,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: 914
      functionLinenumberEnd: 929
      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: 896
      functionLinenumberEnd: 910
      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: 816
      functionLinenumberEnd: 892
      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:860,9'
          Dst:             opendir
        - Src:             'util.c:866,20'
          Dst:             readdir64
        - Src:             'util.c:871,4'
          Dst:             __errno_location
        - Src:             'util.c:872,9'
          Dst:             strtol
        - Src:             'util.c:874,46'
          Dst:             dirfd
        - Src:             'util.c:879,4'
          Dst:             close
        - Src:             'util.c:882,7'
          Dst:             closedir
        - Src:             'util.c:891,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:    read_writev
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 798
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          165
      EdgeCount:       53
      CyclomaticComplexity: 16
      functionsReached:
        - __errno_location
        - readv
        - writev
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:771,6'
          Dst:             readv
        - Src:             'util.c:773,6'
          Dst:             writev
        - Src:             'util.c:780,8'
          Dst:             __errno_location
    - functionName:    readv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    retry_send
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 719
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          66
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - nanosleep
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:726,7'
          Dst:             __errno_location
        - Src:             'util.c:735,7'
          Dst:             __errno_location
        - Src:             'util.c:739,8'
          Dst:             nanosleep
    - functionName:    expand_buf_real
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 983
      functionLinenumberEnd: 999
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          37
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - whine_realloc_real
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:989,15'
          Dst:             whine_realloc_real
        - Src:             'util.c:991,7'
          Dst:             __errno_location
    - functionName:    print_mac
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 713
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          65
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - expand_buf_real
        - sprintf
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:701,20'
          Dst:             expand_buf_real
        - Src:             'util.c:709,7'
          Dst:             sprintf
    - 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: 591
      functionLinenumberEnd: 607
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          85
      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: 565
      functionLinenumberEnd: 587
      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:570,7'
          Dst:             inet_ntop
        - Src:             'util.c:571,14'
          Dst:             __bswap_16
        - Src:             'util.c:576,7'
          Dst:             inet_ntop
        - Src:             'util.c:578,4'
          Dst:             if_indextoname
        - Src:             'util.c:579,4'
          Dst:             strlen
        - Src:             'util.c:579,18'
          Dst:             strlen
        - Src:             'util.c:581,4'
          Dst:             strlen
        - Src:             'util.c:582,4'
          Dst:             strcat
        - Src:             'util.c:584,14'
          Dst:             __bswap_16
    - functionName:    setaddr6part
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 552
      functionLinenumberEnd: 560
      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: 541
      functionLinenumberEnd: 548
      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: 525
      functionLinenumberEnd: 537
      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:529,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: 515
      functionLinenumberEnd: 520
      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:518,17'
          Dst:             __bswap_32
        - Src:             'util.c:520,10'
          Dst:             is_same_net
    - functionName:    is_same_net
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 511
      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: 497
      functionLinenumberEnd: 506
      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: 488
      functionLinenumberEnd: 494
      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:491,3'
          Dst:             gettimeofday
    - functionName:    dnsmasq_time
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 483
      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:483,10'
          Dst:             time
    - functionName:    hostname_issubdomain
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          115
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - strlen
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:439,3'
          Dst:             strlen
        - Src:             'util.c:440,3'
          Dst:             strlen
    - functionName:    hostname_isequal
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 429
      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:429,10'
          Dst:             strlen
        - Src:             'util.c:429,23'
          Dst:             strlen
        - Src:             'util.c:429,36'
          Dst:             hostname_order
    - functionName:    hostname_order
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 405
      functionLinenumberEnd: 425
      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: 392
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          17
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sockaddr_isnull
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 389
      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: 361
      functionLinenumberEnd: 376
      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:    safe_pipe
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 358
      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:354,7'
          Dst:             pipe
        - Src:             'util.c:355,8'
          Dst:             fix_fd
        - Src:             'util.c:356,25'
          Dst:             fix_fd
        - Src:             'util.c:357,5'
          Dst:             die
    - functionName:    safe_strncpy
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          33
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strncpy
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:348,2'
          Dst:             strncpy
    - functionName:    safe_malloc
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          22
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - calloc
        - die
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:331,15'
          Dst:             calloc
        - Src:             'util.c:334,5'
          Dst:             die
    - functionName:    do_rfc1035_name
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 326
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          131
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    whine_malloc_real
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 953
      functionLinenumberEnd: 961
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          37
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - my_syslog
      functionUses:    58
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:954,15'
          Dst:             calloc
        - Src:             'util.c:957,5'
          Dst:             my_syslog
        - Src:             'util.c:959,5'
          Dst:             my_syslog
    - functionName:    canonicalise
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 292
      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_real
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:251,14'
          Dst:             check_name
        - Src:             'util.c:286,14'
          Dst:             strlen
        - Src:             'util.c:286,14'
          Dst:             whine_malloc_real
        - Src:             'util.c:287,5'
          Dst:             strcpy
    - functionName:    check_name
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          136
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached:
        - __ctype_b_loc
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:139,40'
          Dst:             strlen
        - Src:             'util.c:164,45'
          Dst:             __ctype_b_loc
    - functionName:    legal_hostname
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 241
      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:219,8'
          Dst:             check_name
    - functionName:    rr_on_list
      functionSourceFile: '/src/dnsmasq/src/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 131
      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: 117
      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:111,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: 801
      functionLinenumberEnd: 812
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - read_writev
      functionUses:    45
      BranchProfiles:  []
      Callsites:
        - Src:             'util.c:811,10'
          Dst:             read_writev
    - 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: 211
      functionLinenumberEnd: 240
      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:219,2'
          Dst:             queue_arp
        - Src:             'arp.c:233,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_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'arp.c:71,40'
          Dst:             memcmp
        - Src:             'arp.c:88,24'
          Dst:             whine_malloc_real
    - functionName:    find_mac
      functionSourceFile: '/src/dnsmasq/src/arp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          336
      EdgeCount:       106
      CyclomaticComplexity: 31
      functionsReached:
        - difftime
        - filter_mac
        - iface_enumerate
        - whine_malloc_real
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'arp.c:119,7'
          Dst:             difftime
        - Src:             'arp.c:163,8'
          Dst:             iface_enumerate
        - Src:             'arp.c:163,8'
          Dst:             filter_mac
        - Src:             'arp.c:191,11'
          Dst:             whine_malloc_real
    - 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:         699
      ICount:          3400
      EdgeCount:       970
      CyclomaticComplexity: 273
      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:635,4'
          Dst:             add_resource_record
        - Src:             'auth.c:656,12'
          Dst:             add_resource_record
        - Src:             'auth.c:656,12'
          Dst:             add_resource_record
        - Src:             'auth.c:670,12'
          Dst:             add_resource_record
        - Src:             'auth.c:670,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: 239
      functionLinenumberEnd: 240
      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:240,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:    13
      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_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:24,27'
          Dst:             whine_malloc_real
    - functionName:    blockdata_write
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 236
      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:233,7'
          Dst:             read_write
    - functionName:    blockdata_retrieve
      functionSourceFile: '/src/dnsmasq/src/blockdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          87
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - whine_realloc_real
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'blockdata.c:207,16'
          Dst:             whine_realloc_real
    - 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:    4
      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: 2274
      functionLinenumberEnd: 2310
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sanitise
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2015
      functionLinenumberEnd: 2036
      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: 2228
      functionLinenumberEnd: 2271
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          124
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - expand_buf_real
        - sprintf
        - strlen
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:2239,8'
          Dst:             strlen
        - Src:             'cache.c:2246,15'
          Dst:             strlen
        - Src:             'cache.c:2250,8'
          Dst:             expand_buf_real
        - Src:             'cache.c:2258,2'
          Dst:             sprintf
        - Src:             'cache.c:2260,2'
          Dst:             sprintf
        - Src:             'cache.c:2265,2'
          Dst:             sprintf
        - Src:             'cache.c:2267,2'
          Dst:             sprintf
    - functionName:    error_occurred
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2312
      functionLinenumberEnd: 2319
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dump_cache_entry
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2039
      functionLinenumberEnd: 2131
      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_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:2044,36'
          Dst:             cache_get_name
        - Src:             'cache.c:2047,25'
          Dst:             whine_malloc_real
        - Src:             'cache.c:2065,32'
          Dst:             sanitise
        - Src:             'cache.c:2065,8'
          Dst:             sprintf
        - Src:             'cache.c:2066,36'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:2067,18'
          Dst:             cache_get_cname_target
        - Src:             'cache.c:2067,9'
          Dst:             sanitise
        - Src:             'cache.c:2071,19'
          Dst:             querystr
        - Src:             'cache.c:2071,2'
          Dst:             strcpy
        - Src:             'cache.c:2073,19'
          Dst:             querystr
        - Src:             'cache.c:2073,2'
          Dst:             strcpy
        - Src:             'cache.c:2090,2'
          Dst:             inet_ntop
        - Src:             'cache.c:2092,2'
          Dst:             inet_ntop
        - Src:             'cache.c:2112,8'
          Dst:             sprintf
        - Src:             'cache.c:2125,64'
          Dst:             ctime
        - Src:             'cache.c:2125,8'
          Dst:             sprintf
        - Src:             'cache.c:2128,34'
          Dst:             record_source
        - Src:             'cache.c:2128,10'
          Dst:             sprintf
        - Src:             'cache.c:2130,3'
          Dst:             my_syslog
    - functionName:    cache_get_name
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 418
      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: 454
      functionLinenumberEnd: 466
      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: 421
      functionLinenumberEnd: 426
      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:425,12'
          Dst:             cache_get_name
    - functionName:    record_source
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2201
      functionLinenumberEnd: 2225
      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: 2134
      functionLinenumberEnd: 2198
      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:2137,3'
          Dst:             my_syslog
        - Src:             'cache.c:2138,3'
          Dst:             my_syslog
        - Src:             'cache.c:2140,3'
          Dst:             my_syslog
        - Src:             'cache.c:2143,5'
          Dst:             my_syslog
        - Src:             'cache.c:2145,3'
          Dst:             my_syslog
        - Src:             'cache.c:2153,3'
          Dst:             blockdata_report
        - Src:             'cache.c:2154,3'
          Dst:             my_syslog
        - Src:             'cache.c:2172,39'
          Dst:             sockaddr_isequal
        - Src:             'cache.c:2182,9'
          Dst:             prettyprint_addr
        - Src:             'cache.c:2183,2'
          Dst:             my_syslog
        - Src:             'cache.c:2191,7'
          Dst:             my_syslog
        - Src:             'cache.c:2192,7'
          Dst:             my_syslog
        - Src:             'cache.c:2196,4'
          Dst:             dump_cache_entry
    - functionName:    cache_make_stat
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1917
      functionLinenumberEnd: 2006
      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_real
        - whine_realloc_real
      functionUses:    1
      BranchProfiles:
        - Branch String:   'cache.c:1929,3'
          Branch Sides:    []
      Callsites:
        - Src:             'cache.c:1924,25'
          Dst:             whine_malloc_real
        - Src:             'cache.c:1932,7'
          Dst:             sprintf
        - Src:             'cache.c:1936,7'
          Dst:             sprintf
        - Src:             'cache.c:1940,7'
          Dst:             sprintf
        - Src:             'cache.c:1944,7'
          Dst:             sprintf
        - Src:             'cache.c:1948,7'
          Dst:             sprintf
        - Src:             'cache.c:1953,7'
          Dst:             sprintf
        - Src:             'cache.c:1969,43'
          Dst:             sockaddr_isequal
        - Src:             'cache.c:1975,13'
          Dst:             prettyprint_addr
        - Src:             'cache.c:1978,21'
          Dst:             snprintf
        - Src:             'cache.c:1983,15'
          Dst:             whine_realloc_real
        - Src:             'cache.c:1990,18'
          Dst:             snprintf
        - Src:             'cache.c:2001,9'
          Dst:             strlen
    - functionName:    cache_scan_free
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 640
      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:543,17'
          Dst:             hash_bucket
        - Src:             'cache.c:545,55'
          Dst:             cache_get_name
        - Src:             'cache.c:545,38'
          Dst:             hostname_isequal
        - Src:             'cache.c:575,5'
          Dst:             cache_unlink
        - Src:             'cache.c:576,5'
          Dst:             cache_free
        - Src:             'cache.c:594,8'
          Dst:             is_expired
        - Src:             'cache.c:594,34'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:599,5'
          Dst:             cache_unlink
        - Src:             'cache.c:600,5'
          Dst:             cache_free
        - Src:             'cache.c:617,8'
          Dst:             is_expired
        - Src:             'cache.c:622,5'
          Dst:             cache_unlink
        - Src:             'cache.c:623,5'
          Dst:             cache_free
        - Src:             'cache.c:629,14'
          Dst:             memcmp
        - Src:             'cache.c:632,8'
          Dst:             cache_unlink
        - Src:             'cache.c:633,8'
          Dst:             cache_free
    - functionName:    hash_bucket
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 309
      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: 398
      functionLinenumberEnd: 408
      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: 360
      functionLinenumberEnd: 382
      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:381,3'
          Dst:             cache_blockdata_free
    - functionName:    is_expired
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 490
      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:479,8'
          Dst:             difftime
        - Src:             'cache.c:486,7'
          Dst:             difftime
    - functionName:    cache_blockdata_free
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 357
      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:349,2'
          Dst:             blockdata_free
    - functionName:    cache_add_dhcp_entry
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1760
      functionLinenumberEnd: 1836
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          191
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - cache_find_by_addr
        - cache_find_by_name
        - cache_hash
        - cache_scan_free
        - get_config_crec
        - inet_ntop
        - make_non_terminals
        - memcmp
        - my_syslog
        - record_source
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1772,3'
          Dst:             inet_ntop
        - Src:             'cache.c:1774,18'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1780,6'
          Dst:             my_syslog
        - Src:             'cache.c:1783,13'
          Dst:             memcmp
        - Src:             'cache.c:1790,4'
          Dst:             cache_scan_free
        - Src:             'cache.c:1774,18'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1803,7'
          Dst:             inet_ntop
        - Src:             'cache.c:1808,3'
          Dst:             record_source
        - Src:             'cache.c:1804,7'
          Dst:             my_syslog
        - Src:             'cache.c:1812,15'
          Dst:             cache_find_by_addr
        - Src:             'cache.c:1817,4'
          Dst:             cache_scan_free
        - Src:             'cache.c:1823,15'
          Dst:             get_config_crec
        - Src:             'cache.c:1833,7'
          Dst:             cache_hash
        - Src:             'cache.c:1834,7'
          Dst:             make_non_terminals
    - functionName:    cache_find_by_name
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1175
      functionLinenumberEnd: 1259
      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:1190,17'
          Dst:             hash_bucket
        - Src:             'cache.c:1194,9'
          Dst:             is_expired
        - Src:             'cache.c:1194,36'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:1198,22'
          Dst:             cache_get_name
        - Src:             'cache.c:1198,5'
          Dst:             hostname_isequal
        - Src:             'cache.c:1207,9'
          Dst:             cache_unlink
        - Src:             'cache.c:1208,9'
          Dst:             cache_link
        - Src:             'cache.c:1243,5'
          Dst:             cache_unlink
        - Src:             'cache.c:1244,5'
          Dst:             cache_free
        - Src:             'cache.c:1255,24'
          Dst:             cache_get_name
        - Src:             'cache.c:1255,7'
          Dst:             hostname_isequal
    - functionName:    cache_find_by_addr
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1263
      functionLinenumberEnd: 1320
      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:1282,10'
          Dst:             is_expired
        - Src:             'cache.c:1285,6'
          Dst:             memcmp
        - Src:             'cache.c:1294,10'
          Dst:             cache_unlink
        - Src:             'cache.c:1295,10'
          Dst:             cache_link
        - Src:             'cache.c:1305,6'
          Dst:             cache_unlink
        - Src:             'cache.c:1306,6'
          Dst:             cache_free
        - Src:             'cache.c:1316,7'
          Dst:             memcmp
    - functionName:    get_config_crec
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - whine_malloc_real
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:209,11'
          Dst:             whine_malloc_real
    - functionName:    cache_hash
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 342
      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:319,16'
          Dst:             cache_get_name
        - Src:             'cache.c:320,22'
          Dst:             hash_bucket
        - Src:             'cache.c:336,20'
          Dst:             cache_get_name
        - Src:             'cache.c:336,3'
          Dst:             hostname_isequal
    - functionName:    make_non_terminals
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1845
      functionLinenumberEnd: 1913
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         53
      ICount:          235
      EdgeCount:       73
      CyclomaticComplexity: 22
      functionsReached:
        - cache_get_name
        - cache_hash
        - difftime
        - free_config_crec
        - get_config_crec
        - hash_bucket
        - hostname_isequal
        - is_outdated_cname_pointer
        - strchr
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1846,16'
          Dst:             cache_get_name
        - Src:             'cache.c:1859,13'
          Dst:             hash_bucket
        - Src:             'cache.c:1863,12'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:1867,27'
          Dst:             cache_get_name
        - Src:             'cache.c:1867,4'
          Dst:             hostname_isequal
        - Src:             'cache.c:1870,4'
          Dst:             free_config_crec
        - Src:             'cache.c:1877,18'
          Dst:             strchr
        - Src:             'cache.c:1882,21'
          Dst:             hash_bucket
        - Src:             'cache.c:1883,7'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:1886,29'
          Dst:             cache_get_name
        - Src:             'cache.c:1886,6'
          Dst:             hostname_isequal
        - Src:             'cache.c:1897,17'
          Dst:             difftime
        - Src:             'cache.c:1903,20'
          Dst:             get_config_crec
        - Src:             'cache.c:1910,4'
          Dst:             cache_hash
    - functionName:    free_config_crec
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cache_link
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 394
      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: 1743
      functionLinenumberEnd: 1756
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          80
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - free_config_crec
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1752,4'
          Dst:             free_config_crec
    - functionName:    a_record_from_hosts
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1726
      functionLinenumberEnd: 1740
      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:1732,21'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1736,3'
          Dst:             my_syslog
    - functionName:    cache_reload
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1549
      functionLinenumberEnd: 1722
      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
        - free_config_crec
        - free_names
        - get_config_crec
        - make_non_terminals
        - my_syslog
        - read_hostsfile
        - set_dynamic_inotify
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1572,2'
          Dst:             cache_blockdata_free
        - Src:             'cache.c:1578,6'
          Dst:             free_config_crec
        - Src:             'cache.c:1594,3'
          Dst:             free_names
        - Src:             'cache.c:1599,12'
          Dst:             get_config_crec
        - Src:             'cache.c:1607,2'
          Dst:             cache_hash
        - Src:             'cache.c:1608,2'
          Dst:             make_non_terminals
        - Src:             'cache.c:1651,15'
          Dst:             get_config_crec
        - Src:             'cache.c:1656,6'
          Dst:             add_hosts_entry
        - Src:             'cache.c:1660,15'
          Dst:             get_config_crec
        - Src:             'cache.c:1665,6'
          Dst:             add_hosts_entry
        - Src:             'cache.c:1672,2'
          Dst:             my_syslog
        - Src:             'cache.c:1677,15'
          Dst:             read_hostsfile
        - Src:             'cache.c:1679,28'
          Dst:             expand_filelist
        - Src:             'cache.c:1682,17'
          Dst:             read_hostsfile
        - Src:             'cache.c:1691,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1697,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1703,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1709,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1715,7'
          Dst:             make_non_terminals
        - Src:             'cache.c:1719,3'
          Dst:             set_dynamic_inotify
    - functionName:    free_names
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          47
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_hosts_entry
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1324
      functionLinenumberEnd: 1386
      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
        - free_config_crec
        - make_non_terminals
        - memcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1330,47'
          Dst:             cache_get_name
        - Src:             'cache.c:1330,20'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1331,38'
          Dst:             memcmp
        - Src:             'cache.c:1333,2'
          Dst:             free_config_crec
        - Src:             'cache.c:1330,47'
          Dst:             cache_get_name
        - Src:             'cache.c:1330,20'
          Dst:             cache_find_by_name
        - Src:             'cache.c:1361,6'
          Dst:             memcmp
        - Src:             'cache.c:1377,16'
          Dst:             cache_find_by_addr
        - Src:             'cache.c:1384,3'
          Dst:             cache_hash
        - Src:             'cache.c:1385,3'
          Dst:             make_non_terminals
    - functionName:    read_hostsfile
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1437
      functionLinenumberEnd: 1546
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         63
      ICount:          311
      EdgeCount:       86
      CyclomaticComplexity: 25
      functionsReached:
        - __errno_location
        - add_hosts_entry
        - canonicalise
        - eatspace
        - fclose
        - fopen64
        - free_config_crec
        - free_real
        - get_config_crec
        - get_domain
        - get_domain6
        - gettok
        - inet_pton
        - my_syslog
        - rehash
        - store_name
        - strcat
        - strchr
        - strcpy
        - strerror
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:1438,13'
          Dst:             fopen64
        - Src:             'cache.c:1447,84'
          Dst:             __errno_location
        - Src:             'cache.c:1447,75'
          Dst:             strerror
        - Src:             'cache.c:1447,7'
          Dst:             my_syslog
        - Src:             'cache.c:1451,13'
          Dst:             eatspace
        - Src:             'cache.c:1453,18'
          Dst:             gettok
        - Src:             'cache.c:1455,11'
          Dst:             inet_pton
        - Src:             'cache.c:1459,20'
          Dst:             get_domain
        - Src:             'cache.c:1461,16'
          Dst:             inet_pton
        - Src:             'cache.c:1465,20'
          Dst:             get_domain6
        - Src:             'cache.c:1469,4'
          Dst:             my_syslog
        - Src:             'cache.c:1471,13'
          Dst:             gettok
        - Src:             'cache.c:1453,18'
          Dst:             gettok
        - Src:             'cache.c:1479,4'
          Dst:             rehash
        - Src:             'cache.c:1489,16'
          Dst:             gettok
        - Src:             'cache.c:1492,13'
          Dst:             strchr
        - Src:             'cache.c:1494,17'
          Dst:             canonicalise
        - Src:             'cache.c:1497,74'
          Dst:             get_config_crec
        - Src:             'cache.c:1499,42'
          Dst:             strlen
        - Src:             'cache.c:1499,62'
          Dst:             strlen
        - Src:             'cache.c:1499,31'
          Dst:             store_name
        - Src:             'cache.c:1500,7'
          Dst:             free_config_crec
        - Src:             'cache.c:1503,9'
          Dst:             strcpy
        - Src:             'cache.c:1504,9'
          Dst:             strlen
        - Src:             'cache.c:1505,9'
          Dst:             strcat
        - Src:             'cache.c:1508,9'
          Dst:             add_hosts_entry
        - Src:             'cache.c:1513,21'
          Dst:             get_config_crec
        - Src:             'cache.c:1515,42'
          Dst:             strlen
        - Src:             'cache.c:1515,31'
          Dst:             store_name
        - Src:             'cache.c:1516,7'
          Dst:             free_config_crec
        - Src:             'cache.c:1519,9'
          Dst:             strcpy
        - Src:             'cache.c:1522,9'
          Dst:             add_hosts_entry
        - Src:             'cache.c:1528,8'
          Dst:             free_real
        - Src:             'cache.c:1532,6'
          Dst:             my_syslog
        - Src:             'cache.c:1453,18'
          Dst:             gettok
        - Src:             'cache.c:1538,3'
          Dst:             fclose
        - Src:             'cache.c:1541,5'
          Dst:             rehash
        - Src:             'cache.c:1543,3'
          Dst:             my_syslog
    - functionName:    eatspace
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1389
      functionLinenumberEnd: 1410
      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:1394,16'
          Dst:             getc
        - Src:             'cache.c:1396,8'
          Dst:             getc
        - Src:             'cache.c:1401,12'
          Dst:             __ctype_b_loc
        - Src:             'cache.c:1403,4'
          Dst:             ungetc
    - functionName:    gettok
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1413
      functionLinenumberEnd: 1434
      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:1419,16'
          Dst:             getc
        - Src:             'cache.c:1422,11'
          Dst:             __ctype_b_loc
        - Src:             'cache.c:1424,4'
          Dst:             ungetc
        - Src:             'cache.c:1425,11'
          Dst:             eatspace
    - functionName:    rehash
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         31
      ICount:          123
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - cache_hash
        - free_real
        - safe_malloc
        - whine_malloc_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:271,11'
          Dst:             safe_malloc
        - Src:             'cache.c:272,45'
          Dst:             whine_malloc_real
        - Src:             'cache.c:289,6'
          Dst:             cache_hash
        - Src:             'cache.c:291,7'
          Dst:             free_real
    - functionName:    store_name
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          97
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - whine_malloc_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:232,27'
          Dst:             whine_malloc_real
    - 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: 1160
      functionLinenumberEnd: 1172
      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:1163,17'
          Dst:             hash_bucket
        - Src:             'cache.c:1164,10'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:1165,3'
          Dst:             is_expired
        - Src:             'cache.c:1168,25'
          Dst:             cache_get_name
        - Src:             'cache.c:1168,2'
          Dst:             hostname_isequal
    - functionName:    log_query
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2322
      functionLinenumberEnd: 2516
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         118
      ICount:          559
      EdgeCount:       168
      CyclomaticComplexity: 52
      functionsReached:
        - edestr
        - error_occurred
        - inet_ntop
        - my_syslog
        - prettyprint_addr
        - querystr
        - sanitise
        - sprintf
      functionUses:    67
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:2333,43'
          Dst:             error_occurred
        - Src:             'cache.c:2342,11'
          Dst:             querystr
        - Src:             'cache.c:2351,10'
          Dst:             sanitise
        - Src:             'cache.c:2360,13'
          Dst:             querystr
        - Src:             'cache.c:2362,13'
          Dst:             querystr
        - Src:             'cache.c:2385,6'
          Dst:             sprintf
        - Src:             'cache.c:2390,37'
          Dst:             edestr
        - Src:             'cache.c:2390,8'
          Dst:             sprintf
        - Src:             'cache.c:2395,4'
          Dst:             inet_ntop
        - Src:             'cache.c:2400,8'
          Dst:             sprintf
        - Src:             'cache.c:2449,33'
          Dst:             edestr
        - Src:             'cache.c:2449,4'
          Dst:             sprintf
        - Src:             'cache.c:2480,4'
          Dst:             sprintf
        - Src:             'cache.c:2485,11'
          Dst:             querystr
        - Src:             'cache.c:2507,2'
          Dst:             my_syslog
        - Src:             'cache.c:2510,16'
          Dst:             prettyprint_addr
        - Src:             'cache.c:2511,5'
          Dst:             my_syslog
        - Src:             'cache.c:2515,5'
          Dst:             my_syslog
    - functionName:    cache_recv_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 1157
      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:957,3'
          Branch Sides:    []
      Callsites:
        - Src:             'cache.c:954,8'
          Dst:             read_write
        - Src:             'cache.c:969,2'
          Dst:             cache_start_insert
        - Src:             'cache.c:977,11'
          Dst:             read_write
        - Src:             'cache.c:982,3'
          Dst:             cache_end_insert
        - Src:             'cache.c:986,11'
          Dst:             read_write
        - Src:             'cache.c:987,4'
          Dst:             read_write
        - Src:             'cache.c:988,4'
          Dst:             read_write
        - Src:             'cache.c:989,4'
          Dst:             read_write
        - Src:             'cache.c:0,0'
          Dst:             difftime
        - Src:             'cache.c:998,23'
          Dst:             really_insert
        - Src:             'cache.c:1009,4'
          Dst:             next_uid
        - Src:             'cache.c:1021,42'
          Dst:             blockdata_read
        - Src:             'cache.c:0,0'
          Dst:             difftime
        - Src:             'cache.c:1039,17'
          Dst:             really_insert
        - Src:             'cache.c:1040,5'
          Dst:             blockdata_free
        - Src:             'cache.c:1127,7'
          Dst:             read_write
        - Src:             'cache.c:1128,7'
          Dst:             read_write
        - Src:             'cache.c:1129,7'
          Dst:             read_write
        - Src:             'cache.c:1138,13'
          Dst:             add_to_ipset
        - Src:             'cache.c:1147,8'
          Dst:             log_query
    - functionName:    cache_start_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 651
      functionLinenumberEnd: 663
      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:658,7'
          Dst:             cache_free
    - functionName:    cache_end_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 845
      functionLinenumberEnd: 917
      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:853,7'
          Dst:             read_write
        - Src:             'cache.c:860,11'
          Dst:             is_outdated_cname_pointer
        - Src:             'cache.c:861,2'
          Dst:             cache_free
        - Src:             'cache.c:864,4'
          Dst:             cache_hash
        - Src:             'cache.c:865,4'
          Dst:             cache_link
        - Src:             'cache.c:872,21'
          Dst:             cache_get_name
        - Src:             'cache.c:873,20'
          Dst:             strlen
        - Src:             'cache.c:879,8'
          Dst:             read_write
        - Src:             'cache.c:880,8'
          Dst:             read_write
        - Src:             'cache.c:881,8'
          Dst:             read_write
        - Src:             'cache.c:882,8'
          Dst:             read_write
        - Src:             'cache.c:883,8'
          Dst:             read_write
        - Src:             'cache.c:889,7'
          Dst:             blockdata_write
        - Src:             'cache.c:915,7'
          Dst:             read_write
    - functionName:    really_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 841
      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_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:716,14'
          Dst:             cache_scan_free
        - Src:             'cache.c:760,4'
          Dst:             my_syslog
        - Src:             'cache.c:762,4'
          Dst:             dump_cache_entry
        - Src:             'cache.c:773,8'
          Dst:             difftime
        - Src:             'cache.c:776,20'
          Dst:             cache_get_name
        - Src:             'cache.c:776,4'
          Dst:             cache_scan_free
        - Src:             'cache.c:780,4'
          Dst:             cache_scan_free
        - Src:             'cache.c:787,16'
          Dst:             strlen
        - Src:             'cache.c:795,39'
          Dst:             whine_malloc_real
        - Src:             'cache.c:814,3'
          Dst:             cache_unlink
        - Src:             'cache.c:824,12'
          Dst:             cache_get_name
        - Src:             'cache.c:824,5'
          Dst:             strcpy
        - Src:             'cache.c:826,6'
          Dst:             cache_get_name
    - functionName:    next_uid
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 174
      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: 940
      functionLinenumberEnd: 945
      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:941,3'
          Dst:             read_write
        - Src:             'cache.c:942,3'
          Dst:             read_write
        - Src:             'cache.c:943,3'
          Dst:             read_write
        - Src:             'cache.c:944,3'
          Dst:             read_write
    - functionName:    cache_insert
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 667
      functionLinenumberEnd: 690
      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:690,10'
          Dst:             really_insert
    - functionName:    cache_remove_uid
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 515
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          93
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - free_config_crec
        - free_names
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cache.c:506,6'
          Dst:             free_config_crec
        - Src:             'cache.c:513,3'
          Dst:             free_names
    - functionName:    cache_enumerate
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 450
      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: 177
      functionLinenumberEnd: 197
      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:185,15'
          Dst:             safe_malloc
        - Src:             'cache.c:189,4'
          Dst:             cache_link
        - Src:             'cache.c:196,3'
          Dst:             rehash
    - functionName:    rrtype
      functionSourceFile: '/src/dnsmasq/src/cache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 158
      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:154,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: 1076
      functionLinenumberEnd: 1109
      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:1078,3'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:1079,3'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:1082,32'
          Dst:             strlen
        - Src:             'dhcp-common.c:1082,5'
          Dst:             sprintf
        - Src:             'dhcp-common.c:1087,3'
          Dst:             inet_pton
        - Src:             'dhcp-common.c:1087,3'
          Dst:             inet_pton
        - Src:             'dhcp-common.c:1093,29'
          Dst:             strlen
        - Src:             'dhcp-common.c:1093,2'
          Dst:             sprintf
        - Src:             'dhcp-common.c:1101,2'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1103,2'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1105,2'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1108,5'
          Dst:             my_syslog
    - functionName:    log_context
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 982
      functionLinenumberEnd: 1073
      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:996,2'
          Dst:             setaddr6part
        - Src:             'dhcp-common.c:997,7'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:1008,7'
          Dst:             prettyprint_time
        - Src:             'dhcp-common.c:1009,12'
          Dst:             strlen
        - Src:             'dhcp-common.c:1020,11'
          Dst:             indextoname
        - Src:             'dhcp-common.c:1021,2'
          Dst:             sprintf
        - Src:             'dhcp-common.c:1028,7'
          Dst:             sprintf
        - Src:             'dhcp-common.c:1039,6'
          Dst:             strncpy
        - Src:             'dhcp-common.c:1041,6'
          Dst:             strcpy
        - Src:             'dhcp-common.c:1045,2'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:1046,7'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:1047,7'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1062,7'
          Dst:             strcpy
        - Src:             'dhcp-common.c:1067,5'
          Dst:             my_syslog
        - Src:             'dhcp-common.c:1070,5'
          Dst:             my_syslog
    - functionName:    option_string
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 977
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         156
      ICount:          801
      EdgeCount:       216
      CyclomaticComplexity: 62
      functionsReached:
        - __ctype_b_loc
        - inet_ntop
        - prettyprint_time
        - print_mac
        - snprintf
        - sprintf
        - strlen
        - strncat
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp-common.c:859,7'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:860,48'
          Dst:             strlen
        - Src:             'dhcp-common.c:860,7'
          Dst:             strncat
        - Src:             'dhcp-common.c:856,38'
          Dst:             strlen
        - Src:             'dhcp-common.c:856,9'
          Dst:             strncat
        - Src:             'dhcp-common.c:859,7'
          Dst:             inet_ntop
        - Src:             'dhcp-common.c:860,48'
          Dst:             strlen
        - Src:             'dhcp-common.c:860,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,7'
          Dst:             snprintf
        - Src:             'dhcp-common.c:921,11'
          Dst:             strlen
        - Src:             'dhcp-common.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'dhcp-common.c:952,5'
          Dst:             prettyprint_time
        - Src:             'dhcp-common.c:954,5'
          Dst:             sprintf
        - Src:             'dhcp-common.c:972,20'
          Dst:             print_mac
        - Src:             'dhcp-common.c:972,7'
          Dst:             strncat
        - Src:             'dhcp-common.c:974,32'
          Dst:             strlen
        - Src:             'dhcp-common.c:974,2'
          Dst:             strncat
    - functionName:    lookup_dhcp_len
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 807
      functionLinenumberEnd: 825
      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: 786
      functionLinenumberEnd: 804
      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:800,9'
          Dst:             strcasecmp
    - functionName:    display_opts6
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 775
      functionLinenumberEnd: 782
      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:777,3'
          Dst:             puts
        - Src:             'dhcp-common.c:781,7'
          Dst:             printf
    - functionName:    display_opts
      functionSourceFile: '/src/dnsmasq/src/dhcp-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 771
      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:766,3'
          Dst:             puts
        - Src:             'dhcp-common.c:770,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_real
      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_real
        - 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,46'
          Dst:             strlen
        - Src:             'dhcp-common.c:281,8'
          Dst:             strncat
        - Src:             'dhcp-common.c:283,35'
          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_real
        - 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_real
        - Src:             'dhcp-common.c:63,4'
          Dst:             expand_buf_real
        - 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_real
        - 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_real
        - Src:             'dhcp-common.c:35,5'
          Dst:             expand_buf_real
    - 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: 1093
      functionLinenumberEnd: 1123
      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:1099,12'
          Dst:             cache_find_by_addr
        - Src:             'dhcp.c:1103,30'
          Dst:             cache_get_name
        - Src:             'dhcp.c:1104,13'
          Dst:             strchr
        - Src:             'dhcp.c:1108,15'
          Dst:             get_domain
        - Src:             'dhcp.c:1109,16'
          Dst:             hostname_isequal
        - Src:             'dhcp.c:1113,12'
          Dst:             legal_hostname
        - Src:             'dhcp.c:1116,7'
          Dst:             safe_strncpy
        - Src:             'dhcp.c:1117,7'
          Dst:             strip_hostname
    - functionName:    dhcp_read_ethers
      functionSourceFile: '/src/dnsmasq/src/dhcp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 925
      functionLinenumberEnd: 1084
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         134
      ICount:          622
      EdgeCount:       182
      CyclomaticComplexity: 50
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - canonicalise
        - fclose
        - fopen64
        - free_real
        - get_line_alloc
        - hostname_isequal
        - inet_pton
        - legal_hostname
        - memcmp
        - my_syslog
        - parse_hex
        - strerror
        - strlen
        - whine_malloc_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dhcp.c:926,13'
          Dst:             fopen64
        - Src:             'dhcp.c:941,85'
          Dst:             __errno_location
        - Src:             'dhcp.c:941,76'
          Dst:             strerror
        - Src:             'dhcp.c:941,7'
          Dst:             my_syslog
        - Src:             'dhcp.c:954,6'
          Dst:             free_real
        - Src:             'dhcp.c:955,4'
          Dst:             free_real
        - Src:             'dhcp.c:956,4'
          Dst:             free_real
        - Src:             'dhcp.c:962,10'
          Dst:             get_line_alloc
        - Src:             'dhcp.c:968,14'
          Dst:             strlen
        - Src:             'dhcp.c:968,34'
          Dst:             __ctype_b_loc
        - Src:             'dhcp.c:0,0'
          Dst:             __ctype_b_loc
        - Src:             'dhcp.c:975,20'
          Dst:             __ctype_b_loc
        - Src:             'dhcp.c:977,19'
          Dst:             parse_hex
        - Src:             'dhcp.c:979,4'
          Dst:             my_syslog
        - Src:             'dhcp.c:990,8'
          Dst:             inet_pton
        - Src:             'dhcp.c:992,8'
          Dst:             my_syslog
        - Src:             'dhcp.c:1005,17'
          Dst:             canonicalise
        - Src:             'dhcp.c:1005,47'
          Dst:             legal_hostname
        - Src:             'dhcp.c:1008,3'
          Dst:             my_syslog
        - Src:             'dhcp.c:1016,43'
          Dst:             hostname_isequal
        - Src:             'dhcp.c:1009,8'
          Dst:             free_real
        - Src:             'dhcp.c:1022,4'
          Dst:             my_syslog
        - Src:             'dhcp.c:1036,5'
          Dst:             memcmp
        - Src:             'dhcp.c:1042,23'
          Dst:             whine_malloc_real
        - Src:             'dhcp.c:1066,19'
          Dst:             whine_malloc_real
        - Src:             'dhcp.c:1077,7'
          Dst:             free_real
        - Src:             'dhcp.c:1081,3'
          Dst:             fclose
        - Src:             'dhcp.c:1083,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_real
      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_real
    - 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:         23
      ICount:          96
      EdgeCount:       31
      CyclomaticComplexity: 10
      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:         153
      ICount:          822
      EdgeCount:       213
      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_real
        - 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_real
        - 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
        - free_real
        - 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:860,8'
          Dst:             free_real
        - 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:    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:    15
      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_real
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'outpacket.c:55,7'
          Dst:             expand_buf_real
    - 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:    21
      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:    37
      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:    38
      BranchProfiles:  []
      Callsites:       []
    - functionName:    option_find2
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2263
      functionLinenumberEnd: 2271
      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: 1965
      functionLinenumberEnd: 1974
      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:1968,23'
          Dst:             option_string
        - Src:             'rfc2131.c:1971,3'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1970,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: 2059
      functionLinenumberEnd: 2069
      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: 2051
      functionLinenumberEnd: 2054
      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: 3230
      functionLinenumberEnd: 3264
      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:3246,15'
          Dst:             option_find
        - Src:             'rfc2131.c:3248,20'
          Dst:             option_find1
        - Src:             'rfc2131.c:3249,18'
          Dst:             option_uint
        - Src:             'rfc2131.c:3259,49'
          Dst:             wildcard_match
    - functionName:    option_find
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2002
      functionLinenumberEnd: 2024
      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:2006,14'
          Dst:             option_find1
        - Src:             'rfc2131.c:2010,20'
          Dst:             option_find1
        - Src:             'rfc2131.c:2015,14'
          Dst:             option_find1
        - Src:             'rfc2131.c:2020,14'
          Dst:             option_find1
    - functionName:    option_find1
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1977
      functionLinenumberEnd: 1999
      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: 2038
      functionLinenumberEnd: 2047
      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: 3061
      functionLinenumberEnd: 3227
      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:3085,4'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:3113,29'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:3118,12'
          Dst:             ioctl
        - Src:             'rfc2131.c:3120,110'
          Dst:             __errno_location
        - Src:             'rfc2131.c:3120,101'
          Dst:             strerror
        - Src:             'rfc2131.c:3120,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:3149,20'
          Dst:             option_find1
        - Src:             'rfc2131.c:3181,24'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:3189,8'
          Dst:             ioctl
        - Src:             'rfc2131.c:3191,119'
          Dst:             __errno_location
        - Src:             'rfc2131.c:3191,110'
          Dst:             strerror
        - Src:             'rfc2131.c:3191,8'
          Dst:             my_syslog
        - Src:             'rfc2131.c:3201,25'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:3205,2'
          Dst:             dump_packet_udp
        - Src:             'rfc2131.c:3209,7'
          Dst:             send_from
        - Src:             'rfc2131.c:3213,4'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:3215,6'
          Dst:             snprintf
        - Src:             'rfc2131.c:3217,6'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:3218,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: 2205
      functionLinenumberEnd: 2214
      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:2207,16'
          Dst:             strlen
        - Src:             'rfc2131.c:2212,12'
          Dst:             free_space
    - functionName:    free_space
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2132
      functionLinenumberEnd: 2190
      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:2133,22'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2140,24'
          Dst:             find_overload
        - Src:             'rfc2131.c:2160,12'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2173,9'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2181,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: 2248
      functionLinenumberEnd: 2260
      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: 3038
      functionLinenumberEnd: 3058
      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:3043,9'
          Dst:             match_netid
        - Src:             'rfc2131.c:3049,11'
          Dst:             match_netid
        - Src:             'rfc2131.c:3055,57'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:3055,2'
          Dst:             my_syslog
        - Src:             'rfc2131.c:3056,7'
          Dst:             delay_dhcp
    - functionName:    handle_encap
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2964
      functionLinenumberEnd: 3035
      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:3001,12'
          Dst:             match_netid
        - Src:             'rfc2131.c:3002,5'
          Dst:             pxe_ok
        - Src:             'rfc2131.c:3003,34'
          Dst:             in_list
        - Src:             'rfc2131.c:3007,12'
          Dst:             do_opt
        - Src:             'rfc2131.c:3014,3'
          Dst:             do_encap_opts
        - Src:             'rfc2131.c:3016,3'
          Dst:             my_syslog
        - Src:             'rfc2131.c:3017,22'
          Dst:             free_space
        - Src:             'rfc2131.c:3019,20'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:3026,10'
          Dst:             do_opt
    - functionName:    do_opt
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2218
      functionLinenumberEnd: 2244
      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: 2314
      functionLinenumberEnd: 2357
      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:2323,12'
          Dst:             do_opt
        - Src:             'rfc2131.c:2329,10'
          Dst:             free_space
        - Src:             'rfc2131.c:2333,11'
          Dst:             do_opt
        - Src:             'rfc2131.c:2344,12'
          Dst:             free_space
        - Src:             'rfc2131.c:2349,12'
          Dst:             do_opt
    - functionName:    pxe_opts
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2440
      functionLinenumberEnd: 2557
      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_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:2460,35'
          Dst:             whine_malloc_real
        - Src:             'rfc2131.c:2475,37'
          Dst:             match_netid
        - Src:             'rfc2131.c:2477,15'
          Dst:             strlen
        - Src:             'rfc2131.c:2497,22'
          Dst:             a_record_from_hosts
        - Src:             'rfc2131.c:2492,6'
          Dst:             my_syslog
    - functionName:    pxe_uefi_workaround
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2395
      functionLinenumberEnd: 2437
      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:2403,58'
          Dst:             match_netid
        - Src:             'rfc2131.c:2419,22'
          Dst:             a_record_from_hosts
        - Src:             'rfc2131.c:2420,7'
          Dst:             snprintf
        - Src:             'rfc2131.c:2429,7'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:2434,7'
          Dst:             strchr
        - Src:             'rfc2131.c:2433,5'
          Dst:             snprintf
    - functionName:    find_boot
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2568
      functionLinenumberEnd: 2581
      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:2573,9'
          Dst:             match_netid
        - Src:             'rfc2131.c:2578,11'
          Dst:             match_netid
    - functionName:    prune_vendor_opts
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2372
      functionLinenumberEnd: 2385
      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:2380,7'
          Dst:             match_netid
    - functionName:    pxe_misc
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2361
      functionLinenumberEnd: 2369
      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:2366,3'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2367,20'
          Dst:             free_space
    - functionName:    option_put
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2194
      functionLinenumberEnd: 2201
      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:2196,22'
          Dst:             free_space
    - functionName:    is_pxe_client
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2585
      functionLinenumberEnd: 2605
      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:2589,9'
          Dst:             option_find
        - Src:             'rfc2131.c:2594,18'
          Dst:             strlen
        - Src:             'rfc2131.c:2597,11'
          Dst:             strncmp
    - functionName:    dhcp_packet_size
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2072
      functionLinenumberEnd: 2128
      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:2073,22'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2086,14'
          Dst:             find_overload
        - Src:             'rfc2131.c:2088,20'
          Dst:             option_uint
        - Src:             'rfc2131.c:2090,8'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2092,2'
          Dst:             log_options
        - Src:             'rfc2131.c:2095,62'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2095,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2097,20'
          Dst:             option_uint
        - Src:             'rfc2131.c:2099,8'
          Dst:             dhcp_skip_opts
        - Src:             'rfc2131.c:2101,2'
          Dst:             log_options
        - Src:             'rfc2131.c:2104,60'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2104,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2113,4'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:2114,59'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2114,4'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2117,26'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:2118,60'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2118,2'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2120,7'
          Dst:             log_options
    - functionName:    log_packet
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1920
      functionLinenumberEnd: 1962
      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:          131
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - __bswap_32
        - inet_ntop
        - my_syslog
        - print_mac
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'rfc2131.c:1929,5'
          Dst:             inet_ntop
        - Src:             'rfc2131.c:1932,11'
          Dst:             print_mac
        - Src:             'rfc2131.c:1936,8'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:1935,5'
          Dst:             my_syslog
        - Src:             'rfc2131.c:1946,5'
          Dst:             my_syslog
    - functionName:    do_options
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2624
      functionLinenumberEnd: 2960
      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:2638,11'
          Dst:             option_filter
        - Src:             'rfc2131.c:2646,14'
          Dst:             option_string
        - Src:             'rfc2131.c:2647,9'
          Dst:             snprintf
        - Src:             'rfc2131.c:2656,69'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2656,8'
          Dst:             my_syslog
        - Src:             'rfc2131.c:2664,26'
          Dst:             match_netid
        - Src:             'rfc2131.c:2667,17'
          Dst:             __bswap_16
        - Src:             'rfc2131.c:2678,19'
          Dst:             find_boot
        - Src:             'rfc2131.c:2684,5'
          Dst:             in_list
        - Src:             'rfc2131.c:2685,3'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2687,3'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:2694,5'
          Dst:             in_list
        - Src:             'rfc2131.c:2695,3'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2697,3'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:2703,21'
          Dst:             a_record_from_hosts
        - Src:             'rfc2131.c:2711,26'
          Dst:             in_list
        - Src:             'rfc2131.c:2712,15'
          Dst:             option_find2
        - Src:             'rfc2131.c:2714,8'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:2718,26'
          Dst:             in_list
        - Src:             'rfc2131.c:2719,15'
          Dst:             option_find2
        - Src:             'rfc2131.c:2721,8'
          Dst:             safe_strncpy
        - Src:             'rfc2131.c:2725,15'
          Dst:             option_find2
        - Src:             'rfc2131.c:2749,59'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2749,5'
          Dst:             option_put
        - Src:             'rfc2131.c:2758,18'
          Dst:             option_find2
        - Src:             'rfc2131.c:2760,11'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2765,19'
          Dst:             option_find2
        - Src:             'rfc2131.c:2767,11'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2782,8'
          Dst:             option_put
        - Src:             'rfc2131.c:2783,8'
          Dst:             option_put
        - Src:             'rfc2131.c:2790,12'
          Dst:             option_find2
        - Src:             'rfc2131.c:2791,20'
          Dst:             in_list
        - Src:             'rfc2131.c:2792,50'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2792,2'
          Dst:             option_put
        - Src:             'rfc2131.c:2797,5'
          Dst:             option_find2
        - Src:             'rfc2131.c:2798,20'
          Dst:             in_list
        - Src:             'rfc2131.c:2799,56'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2799,6'
          Dst:             option_put
        - Src:             'rfc2131.c:2804,4'
          Dst:             in_list
        - Src:             'rfc2131.c:2805,5'
          Dst:             option_find2
        - Src:             'rfc2131.c:2806,49'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2806,2'
          Dst:             option_put
        - Src:             'rfc2131.c:2809,4'
          Dst:             in_list
        - Src:             'rfc2131.c:2810,5'
          Dst:             option_find2
        - Src:             'rfc2131.c:2811,52'
          Dst:             __bswap_32
        - Src:             'rfc2131.c:2811,2'
          Dst:             option_put
        - Src:             'rfc2131.c:2814,17'
          Dst:             in_list
        - Src:             'rfc2131.c:2815,8'
          Dst:             option_find2
        - Src:             'rfc2131.c:2816,5'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2821,11'
          Dst:             in_list
        - Src:             'rfc2131.c:2822,5'
          Dst:             option_find2
        - Src:             'rfc2131.c:2823,2'
          Dst:             option_put_string
        - Src:             'rfc2131.c:2827,10'
          Dst:             strlen
        - Src:             'rfc2131.c:2835,13'
          Dst:             strlen
        - Src:             'rfc2131.c:2839,13'
          Dst:             free_space
        - Src:             'rfc2131.c:2847,9'
          Dst:             do_rfc1035_name
        - Src:             'rfc2131.c:2850,13'
          Dst:             do_rfc1035_name
        - Src:             'rfc2131.c:2856,25'
          Dst:             strlen
        - Src:             'rfc2131.c:2857,10'
          Dst:             strlen
        - Src:             'rfc2131.c:2861,27'
          Dst:             strlen
        - Src:             'rfc2131.c:2862,14'
          Dst:             strlen
        - Src:             'rfc2131.c:2880,59'
          Dst:             in_list
        - Src:             'rfc2131.c:2916,13'
          Dst:             do_opt
        - Src:             'rfc2131.c:2919,16'
          Dst:             free_space
        - Src:             'rfc2131.c:2921,4'
          Dst:             do_opt
        - Src:             'rfc2131.c:2921,4'
          Dst:             do_opt
        - Src:             'rfc2131.c:2928,8'
          Dst:             match_vendor_opts
        - Src:             'rfc2131.c:2935,3'
          Dst:             handle_encap
        - Src:             'rfc2131.c:2937,17'
          Dst:             prune_vendor_opts
        - Src:             'rfc2131.c:2941,7'
          Dst:             pxe_misc
        - Src:             'rfc2131.c:2942,12'
          Dst:             pxe_uefi_workaround
        - Src:             'rfc2131.c:2943,16'
          Dst:             pxe_opts
        - Src:             'rfc2131.c:2946,23'
          Dst:             in_list
        - Src:             'rfc2131.c:2946,72'
          Dst:             in_list
        - Src:             'rfc2131.c:2947,22'
          Dst:             do_encap_opts
        - Src:             'rfc2131.c:2949,12'
          Dst:             free_space
    - functionName:    match_vendor_opts
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2276
      functionLinenumberEnd: 2310
      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:2295,16'
          Dst:             strlen
        - Src:             'rfc2131.c:2297,26'
          Dst:             memcmp
    - functionName:    clear_packet
      functionSourceFile: '/src/dnsmasq/src/rfc2131.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2560
      functionLinenumberEnd: 2565
      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: 2027
      functionLinenumberEnd: 2034
      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:          6071
      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_real
        - extended_hwaddr
        - find_boot
        - find_config
        - free_real
        - 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_real
        - 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:1609,5'
          Dst:             free_real
        - 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
...
